You can find this document as PDF here.
1. About
fpmmm is the FromDual Performance Monitor and the counterpart to the MySQL Enterprise Monitor from Oracle.
With fpmmm you can monitor your MariaDB/MySQL databases and also your database hosts (machines). fpmmm works on Linux and should also work on Mac OSX (and possibly some other *BSD derivatives). Windows support is planned for the future.
fpmmm needs a Zabbix Server somewhere in your network for storing its performance data. On the Zabbix Web Interface you can see the graphs, and alerts are sent to you from it.
Find out more about Zabbix installation here.
If you do not plan to set-up your own Zabbix Server you should consider our Monitoring as a Service (MaaS) offering.
1.1. Where to download fpmmm
The FromDual Performance Monitor (fpmmm) can be downloaded from our website.
2. FromDual Performance Monitor (fpmmm) Installation Guide
2.1. What is the FromDual Performance Monitor (fpmmm)?
The FromDual Performance Monitor (fpmmm) for MariaDB, Galera Cluster, MySQL and Percona Server is a monitoring solution based on the enterprise class open source monitor Zabbix.
It provides all the necessary modules to monitor your MySQL/MariaDB performance metrics in detail an let you display them graphically.
Thus it is a good alternative to the MySQL Enterprise Monitor which is only available for paying Oracle/MySQL customers.
2.2. Prerequisites
On the machine where your monitoring service resides (displaying the graphs, etc.) you need to install Zabbix server and the Zabbix web interface (v2.0 or newer). For installing Zabbix go through this installation first.
On the machine where your MariaDB or MySQL databases resides you have to install a Zabbix agent (v2.0 or newer) and the FromDual Performance Monitor fpmmm.
Important: The FromDual Performance Monitor fpmmm was only tested on Linux. It may work on other Unixoides but most probably will NOT work on Windows yet. Please let us know if you plan to run fpmmm or fpmmm for MaaS on Windows…
2.3. Download and Install
FromDual offers you 2 different methods how you can install fpmmm:
-
Use our FromDual repository.
-
Use our binary tar balls. The most recent Performance Monitor you can download from here…
We follow the Debian, Ubuntu and Rocky Linux distribution maintenance policies for Long Term Support (LTS) releases.
|
Note
|
Other distributions like Red Hat, Oracle Linux, AlmaLinux, CentOS, Fedora and other Debian based distributions may work as well. Please let us know if you experience any problem with those. |
2.4. Adding FromDual DEB or RPM repositories
Adding the FromDual DEB or RPM repositories is described here.
2.5. Installation of fpmmm on Debian / Ubuntu from FromDual Repository
|
Note
|
Special requirements on Ubuntu 24.04: Ubuntu 24.04 does NOT provide Zabbix agent any more. Thus you have to add the Zabbix repository first: |
$ apt install fpmmm
For testing if the installation was successful look here.
2.6. Installation of fpmmm on Rocky Linux / Red Hat Linux / Oracle Linux / AlmaLinux / Fedora / CentOS from FromDual Repository
|
Note
|
Rocky Linux does NOT provide Zabbix agent. Thus you have to add the Zabbix repository first: |
$ dnf install zabbix-sender $ dnf install fpmmm
For testing if the installation was successful look here.
2.7. Installation of fpmmm from a binary tar ball
If you are installing fpmmm from a tar ball some preparation work has to be done before. If you were using our DEB or RPM packages directly without our repository the same instructions apply.
Then proceed as follows:
$ VERSION='2.2.0'
$ cd /tmp
$ wget --no-check-certificate https://support.fromdual.com/admin/download/fpmmm-${VERSION}.tar.gz
$ cd /opt
$ tar xf /tmp/fpmmm-${VERSION}.tar.gz
$ ln -s fpmmm-${VERSION} fpmmm
$ cp fpmmm/tpl/fpmmm.conf.template /etc/fpmmm.conf
$ chown zabbix: /etc/fpmmm.conf
$ chmod 600 /etc/fpmmm.conf
Then the following packages have to be installed. They may be named differently depending on your distribution:
-
DEB:
apt install php-cli php-mysql php-curl zabbix-sender zabbix-agent zabbix-agent2 smartmontools sysstat sudo -
RPM:
dnf install php php-cli php-mysqli php-process php-json smartmontools sysstat zabbix-agent zabbix-sender which
Additionally you have to set some PHP variables (choose the right file depending on your distribution):
$ PHP_INI='/etc/php.d/20-fpmmm.ini'
$ PHP_INI='/etc/php/8.4/mods-available/fpmmm.ini'
$ PHP_INI='/etc/php/cli/conf.d/fpmmm.ini'
$ PHP_INI='/etc/php/conf.d/fpmmm.ini'
$ PHP_INI='/etc/php.d/fpmmm.ini'
$ cat << _EOF >${PHP_INI}
variables_order = "EGPCS"
date.timezone = 'Europe/Zurich'
_EOF
$ phpenmod fpmmm
and add smartctl to the sudoers file if you want to make use of smartctl:
$ cat << _EOF >/etc/sudoers.d/fpmmm root ALL=(root) NOPASSWD: /usr/sbin/smartctl _EOF
2.8. Testing fpmmm installation
$ php --version # Should be at least 7.2 $ /opt/fpmmm/bin/fpmmm --version 2.2.0 $ /opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf 1 $ cat /var/log/fpmmm/fpmmm.log
2.9. Configuration of fpmmm
Prepare the fpmmm.conf according to your needs. A typical configuration file for the FromDual Performance Monitor looks as follows:
# Put everything related to fpmmm agent/daemon itself into this section [self] # How long fpmmm should sleep when run as daemon Interval = 60 MyPidFile = /run/lock/fpmmm/fpmmm.pid # Put everything in here which belongs to all instances/machines [default] # Type of section: # instance for a normal MariaDB/MySQL database # machine for a server # Type = instance # LogLevels are: # 1 is logging only errors # 2 is logging errors and warnings (this is the default) # 3 logs some informations messages as well # 4 logs everything (for debugging purposes only) LogLevel = 2 LogFile = /var/log/fpmmm/fpmmm.log # Directory where the cache files should be written to: CacheFileBase = /var/cache/fpmmm/fpmmm # Currently supported formats are zabbix, nagios, icinga, centreon and snmp, default is zabbix # OutputFormat = zabbix AgentLockFile = /run/lock/fpmmm/fpmmm.lock # If you agent is not located in the same time zone as your server # For US something like -6.0 to our MaaS Server # For Asia something like +7.0 to our MaaS Server # TimeShift = +0.0 TimeZone = Europe/Zurich # Zabbix Server IP address ZabbixServer = <192.168.1.42> # Can be one of: minimal, nomal, extensive DataGathering = normal # Here you could enter the hostname of your machine (uname -n) [<my_machine>] # This MUST match Hostname in Zabbix! Type = machine Modules = fpmmm server smart # All MySQL databases here # Try to avoid section names with spaces! # Here you could add a random name of your MySQL/MariaDB instance [<my_mysqld>] # This MUST match Hostname in Zabbix! Type = instance Username = <fpmmm_agent> Password = <secret> MysqlHost = <127.0.0.1> MysqlPort = 3306 MysqlPort = 3306 Modules = process mysql myisam innodb master slave security data user DbPidFile = /var/run/mysqld/mysqld.pid
There is typically a default section ([default]) where you can specify all the defaults for all the hosts to monitor (machines and database instances).
For every database instance you want to monitor you have to add an extra section. This allows you to monitor several MariaDB/MySQL databases running on the same machine.
Important: The section name MUST match the Hostname which you have entered in the Zabbix Server!!!
2.10. Modules
The FromDual Performance Monitor Agent is split into several different Modules. For every Module there is a:
-
Zabbix Template (
tpl/templates_*/Template_FromDual.MySQL.*.xml) -
FromDual Performance Monitor Agent PHP module (
lib/FromDual_*.inc)
Each module is for its own specific purpose. Available modules are:
| Module | Description |
|---|---|
aria |
Module to monitor the MariaDB Aria Storage Engine. |
data |
Module to monitor database data growth (user data). |
drbd |
Module to monitor DRBD device status information. |
errorlog |
Module to monitor the database Error Log. |
fpmmm* |
Module to monitor the |
galera |
Module to monitor Galera Cluster. |
innodb |
Module to monitor the MariaDB InnoDB and MySQL InnoDB Storage Engine. |
master |
Module to monitor a Replication Master in a MariaDB/MySQL Master/Slave Replication (synonyms primary, replication source). |
memcached |
Module to monitor MemcacheD services. |
myisam |
Module to monitor the MyISAM Storage Engine. |
mysql |
Module to monitor general MariaDB/MySQL behaviour (everything NOT storage engine specific). |
nagios_plugins |
Module to serve data for Nagios based monitoring solutions. |
postgresql |
Module to monitor a PostgreSQL database. |
process |
Module to monitor all kinds of Linux processes ( |
security |
Module to monitor security related informations and rules. |
server |
Module to monitor a Linux machine (additional metrics related to database use). |
slave |
Module to monitor Replication Slaves in a MariaDB/MySQL Master/Slave set-up (synonym replica, secondary). |
smart |
Module to query some S.M.A.R.T metrics. |
user |
Module to monitor user specific information. |
* Required modules
2.11. Create a Monitoring User in your MariaDB/MySQL instance
For security reason it is a good idea to NOT use the database user root or mysql. The monitoting user needs some privileges to gather information from the database:
SQL> CREATE USER 'fpmmm_agent'@'127.0.0.1' IDENTIFIED BY 'secret'; SQL> GRANT PROCESS ON *.* TO 'fpmmm_agent'@'127.0.0.1'; SQL> GRANT REPLICATION CLIENT ON *.* TO 'fpmmm_agent'@'127.0.0.1'; SQL> GRANT SELECT ON `mysql`.`user` TO 'fpmmm_agent'@'127.0.0.1'; SQL> GRANT REPLICATION SLAVE ON *.* TO 'fpmmm_agent'@'127.0.0.1'; SQL> GRANT SELECT ON performance_schema.events_statements_summary_by_user_by_event_name TO fpmmm_agent@'127.0.0.1'; SQL> GRANT SELECT ON performance_schema.events_statements_current TO fpmmm_agent@'127.0.0.1'; SQL> GRANT SELECT ON performance_schema.setup_instruments TO fpmmm_agent@'127.0.0.1'; SQL> -- Does not work on MariaDB 10.3 (Rocky Linux 8 / Oracle Linux 8) SQL> GRANT SELECT ON performance_schema.metadata_locks TO fpmmm_agent@'127.0.0.1'; SQL> GRANT SELECT ON performance_schema.threads TO fpmmm_agent@'127.0.0.1'; SQL> -- For the security module SQL> GRANT SELECT ON mysql.user TO 'fpmmm_agent'@'127.0.0.1'; SQL> -- MariaDB only SQL> INSTALL PLUGIN metadata_lock_info SONAME 'metadata_lock_info.so'; SQL> -- MariaDB 10.5 and newer SQL> GRANT SELECT ON mysql.global_priv TO fpmmm_agent@'127.0.0.1'; SQL> GRANT REPLICATION MASTER ADMIN ON *.* TO 'fpmmm_agent'@'127.0.0.1'; SQL> GRANT SLAVE MONITOR ON *.* TO 'fpmmm_agent'@'127.0.0.1';
2.12. FromDual Performance Monitor as a Service (MaaS) Installation Guide
2.12.1. Monitoring as a Service (MaaS)
If you do not want to take the burden to install the Monitor yourself we offer you our Monitoring as a Service.
2.12.2. FromDual Performance Monitor as a Service (MaaS)
Important: If you want to install and use the FromDual Performance Monitor as a Service (MaaS) please check the FromDual Performance Monitor as a Service (MaaS) Installation Guide.
The FromDual Performance Monitor (fpmmm) can be run in 2 different modes:
-
Locally in your company on your company machines (aka on-premises).
-
As Monitoring as a Service (MaaS). This 2nd topic we will cover in this chapter.
2.12.3. How to install fpmmm for MaaS
To install a fpmmm Agent for MaaS you have to install it normally as described above on your MariaDB/MySQL database machine. It will collect data about your machine and your database and send them to the remote service which is provided by FromDual for its customers.
The data are uploaded via a https file uploads. So only a one way communication is possible! We cannot access your systems! Only you (and our engineers) can see your performance data on the Monitoring Server.
2.12.4. How to configure fpmmm for MaaS
Create a configuration file for example like this:
$ cp /opt/fpmmm/tpl/fpmmm.conf.template /etc/fpmmm.conf
To make the fpmmm Agent work in a MaaS set-up you need a hash key~ from us so we can identify you non-ambiguous and we can make sure nobody is doing nasty things with your service. You can request such a hash key, if you have not received one yet from here. To allocate you the correct resources we further need to know from you:
-
The company name you want to use (for example
FromDual) -
The server name the agent is running on (for example
deb13db1) -
A name which identifies your database instance (for example
db1)
All those 3 identifiers together must uniquely identify your database instance you want to monitor. When we got these information we can create the service for you and provide you a configuration file.
The configuration file will look as follows:
[self] Interval = 60 MyPidFile = /run/lock/fpmmm/fpmmm.pid [default] Debug = 2 LogFile = /var/log/fpmmm/fpmmm.log CacheFileBase = /var/cache/fpmmm/fpmmm AgentLockFile = /run/lock/fpmmm/fpmmm.lock MaaS = on Hash = <hash> Method = https Url = https://support.fromdual.com/maas/receiver.php [<company>.<server_name>] Type = machine Modules = fpmmm server smart [<company>.<server_name>.<db_name>] Type = instance Modules = process mysql myisam innodb master slave security data user Username = <root> Password = <secret> MysqlHost = <127.0.0.1> MysqlPort = (3306) DbPidFile = </var/lib/mysql/<server_name>.pid>
We need one section for the machine (host) and one section per database (instance, typically only one per machine).
2.12.5. Queries sent against the database
The following queries are sent against your database for monitoring:
-
SHOW BINARY LOGS -
SHOW /*!50000 ENGINE */ INNODB STATUS -
SHOW ENGINE NDB STATUS -
SHOW /*!50000 GLOBAL */ STATUS -
SHOW GLOBAL VARIABLES -
SHOW MASTER STATUS -
SHOW SLAVE HOSTS -
SHOW SLAVE STATUS -
SELECT counter_name, SUM(val) AS val FROM ndbinfo.counters GROUP BY counter_name -
SELECT MAX(total) AS total, MAX(used) AS used FROM ndbinfo.logbuffers -
SELECT memory_type, SUM(used) AS used, SUM(total) AS total FROM ndbinfo.memoryusage GROUP BY memory_type -
SELECT ROUND(AVG(uptime), 0) AS uptime, SUM(start_phase) AS start_phase FROM ndbinfo.nodes -
SELECT resource_name, SUM(reserved) AS reserved, SUM(used) AS used, SUM(max) AS max FROM ndbinfo.resources GROUP BY resource_name -
SELECT status, COUNT(status) AS cnt FROM ndbinfo.transporters GROUP BY status -
SELECT REPLACE(Name, ' ', '_') AS Name, Value FROM INFORMATION_SCHEMA.PBXT_STATISTICS -
SELECT SUM(compress_time) AS compress_time, SUM(uncompress_time) AS uncompress_time FROM information_schema.INNODB_CMP -
SELECT SUM(total) AS total, SUM(used) AS used FROM ndbinfo.logspaces -
SELECT SUM(trx_rows_locked) AS rows_locked, SUM(trx_rows_modified) AS rows_modified, SUM(trx_lock_memory_bytes) AS lock_memory FROM information_schema.INNODB_TRX -
SELECT LOWER(REPLACE(trx_state, " ", "_")) AS state, count(*) AS cnt from information_schema.INNODB_TRX GROUP BY state
2.12.6. Testing the fpmmm for MaaS
If you have put this in place we can run the fpmmm agent for a first test:
/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf 1
If the agent returns "1" then it seems to work correctly… Have a look at the fpmmm agent log (/var/log/fpmmm/fpmmm.log) as well for hidden problems. If you do not see there any message it should have worked correctly.
Then you should see the first data arriving in the Zabbix Monitor.
2.12.7. Viewing Performance data
To see your performance data go to the following web-site: support.fromdual.com/fpmmm and log in with the credentials we provide you.
Then go to to Monitoring → Latest data and choose the right Group and Host (it may take some time until Zabbix recognizes a new agent (up to a minute) and displays its data correctly).
If they have arrived you can continue sending your data to the fpmmm MaaS Service. If not please get in contact with us for finding the problem.
2.12.8. Continuously sending data
If everything works correctly you can include the agent into the crontab (of the mysql user):
* * * * * /opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf | grep -v '^1$'
2.12.9. Upgrading the fpmmm MaaS agent
The fpmmm MaaS agent is upgraded in the same way as the normal fpmmm agent. For more details see here.
2.13. Performance Monitor Installation Guide for Windows
To install the FromDual Performance Monitor (fpmmm) on Windows we first have to install Perl. We recommend to use ActiveState Perl but Strawberry Perl may work as well. The installation is straight forward.
For querying MySQL we have to install some additional Perl modules. You can follow either the official MySQL documentation (which is a bit out of date) or just run the following command:
cmd> C:\Perl64\bin\ppm.bat
Then you have to install the modules:
-
DBI
-
DBD-mysql
Now you can already run the MySQL Performance Monitor!
Important: The current release (v0.9) does NOT work yet on Windows without patching the file FromDualMySQLagent.pm. For more details see here.
2.13.1. Run the fpmmm every minute
To run the fpmmm every minute we need the Windows Task Scheduler. You can schedule your task either by using the command line:
cmd> schtasks /create /sc minute /mo 1 /tn "MySQL Performance Monitor" \ /tr "C:\fpmmm\FromDualMySQLagent.pl C:\fpmmm\fpmmm.conf"
or by using the GUI. Go to:
Computer (right click) > Manager > System Tools > Task Scheduler > Crate Task...
2.13.2. fpmmm modules which work
The modules which seem to work at least partially at the moment are:
-
master -
fpmmm -
myisam -
mysql -
slave
Other modules might work as well…
The modules server and process will NOT work for sure!
2.13.3. How to make the MySQL Performance Monitor work on Windows?
A customer recently was asking why our FromDual Performance Monitor (fpmmm) is not working on Windows…? The answer is short: It was developed on Linux and never tested on Windows…
But I was wondering how much effort it would take to make it work on Windows as well.
I was quite surprised how fast it was to make the basic functionality working on Windows. It took me less than one hour to install, configure and patch fpmmm.
Patch fpmmm
The file FromDualMySQLagent.pm has to be patched at 2 locations. The lock file name must be something understandable by Windows (for example C:\Temp\FromDualMySQLagent.lock. We will fix that in the next fpmmm release.
40 # Should NOT be hard coded, tofix later!!!
41 # Does not work on Windows!
42 my $lAgentLockFile = '/tmp/FromDualMySQLagent.lock';
43 # Check if lock file already exists and complain if yes
...
533 # Does not work on Windows!
534 my $lAgentLockFile = '/tmp/FromDualMySQLagent.lock';
535 if ( ! unlink($lAgentLockFile) ) {
There are at least 2 other parts in the code which make troubles. But they can be circumvented by disabling the modules (server and process) respectively configuring fpmmm accordingly.
A basic fpmmm configuration file on Windows
We have used the following basic configuration file:
[default] LogFile = C:\Users\oli\logs\fpmmm.log Debug = 2 CacheFileBase = C:\Users\oli\cache MaaS = on Hash = <your hash> Methtode = http Url = https://support.fromdual.com/maas/receiver.php [FromDual.Win_laptop] Modules = fpmmm [FromDual.Win_laptop.win_db]
In your case there is possibly some more configuration needed. For details please look here.
Now we are quite confident that the next fpmmm release will work more or less with Windows out of the box. If you cannot wait try it out with this hack. More details about installing the fpmmm on Windows you can find here. If you run into problems please report them in the MPM installation on Windows forum. All paying customers can naturally use our support platform.
3. FromDual Performance Monitor User Guide
3.1. Technical Overview
The FromDual Performance Monitor (fpmmm) will be hooked into the Zabbix Agent (zabbix_agentd).
It consists of:
-
The Monitor program itself (
bin/fpmmm) which controls the other modules and its own module (FromDual_agent.inc) -
A Template for the FromDual Performance Monitor configuration file (
tpl/fpmmm.conf.template) -
And several different modules for monitoring MariaDB/MySQL/Galera (
lib/FromDual_*.inc)
The FromDual Performance Monitor Architecture looks as follows:
3.2. Examples
Some snapshots…
3.2.1. Dashboard with Slave issues
3.2.2. Triggers acknowledged
3.2.3. MySQL network activity
3.2.4. MySQL statements sent against the server
3.2.5. InnoDB buffer pool and data file activity
3.3. Adding the fpmmm Templates to Zabbix
Choose the templates you need. The template fpmmm is mandatory. All other templates are optional but you have to load them if you want to monitor some specific storage engines or features.
If you do not want to think about install ALL templates. A typical good choice of templates for the machine (host) is: fpmmm and server and for the a normal MariaDB/MySQL database itself: process, mysql, myisam and innodb.
If you have a Master/Slave Replication running you should add also the master and the slave templates.
Load the Templates (tpl/templates_*/*.xml) into the Zabbix Monitor (leave all the checkboxes as they are): Configuration → Templates → Import → Select the module → Import.
There should not be any conflict with other rules because a different name space was used for the FromDual modules.
3.4. Creating Zabbix Host Groups
We found, that it is a good idea to create a separate Host Group for your MariaDB/MySQL databases. But you are free to have even a more granular separation or to have just one Host Group.
We miss-use these Host Groups for separating our Databases and our Machines. So the name could be a bit miss-leading how we used it for our purposes. We do not only monitor Hosts but also Databases/Instances.
Adding a Zabbix Host Group:
Configuration → Host Groups → Create host group → then enter a group name for example as follows: Database Server and MariaDB/MySQL
3.5. Creating Hosts on your Zabbix Server
A Host in Zabbix terminology is a device you want to monitor. This can be either a Machine or a MariaDB/MySQL Database Instance (mariadbd/mysqld) or something else.
For every Database Instance you want to monitor you have to create 2 Hosts, one for the Machine and one for the Database Instance: Configuration → Hosts → Creating host.
Then enter a UNIQUE Name for this Host (= machine or database). Be very careful with choosing the Name (in other places also called Hostname). The Name is the identifier for authenticating the Zabbix Agent to the Zabbix Server and is the marker where the data are stored. If the names do not match, the data cannot be sent!
Make sure that Host name matches exactly the hostname specified in fpmmm.conf (my_machine and my_mysqld).
Add this Host to the right Group, add the IP address and Link at least the Template tpl/templates_*/Template_FromDual.MySQL.fpmmm from the Templates tab to the machine host (my_machine) (and possibly some others you have chosen above) and the other templates to the Database Host (my_mysqld). Then save the changes.
Example for the Server: …
Example for the Database: …
Then check again if your fpmmm data reaches your Zabbix Server: Monitoring → Latest data → fpmmm and check the time stamp of Last check for example.
3.6. Enable the Host for monitoring on Zabbix Server
When you have done all the steps above you can enable the monitored Database Server by clicking on its Not monitored status. In the availability you should see if a certain host is monitored and if not why…
The most common reasons why an agent is not monitored are:
-
Hostname on Zabbix Server and Section in FromDual Performance Monitor Agent configuration file do NOT match.
-
Agent is down or not reachable (firewall, etc.).
To see if data is sent and what the actual values are you can go to:
Monitoring → Latest data → then filter by group and host:
3.7. Regularly running the fpmmm Agent
There are 2 different possibilities to run fpmmm regularly.
-
First by the Zabbix Agent:
Put the following line either into its own file (/etc/zabbix/conf.d/fpmmm.conf) or add it to the Zabbix Agent configuration file (/etc/zabbix/zabbix_agentd.conf).
# # /etc/zabbix/zabbix_agentd.conf # UserParameter=FromDual.MySQL.check,/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf
Restart the Zabbix agent afterwards: systemctl restart zabbix-agentd.
-
or second by the
crontab:
* * * * * /opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf >/dev/null
3.8. Special requirements for specific modules
3.8.1. Special requirements for the DRBD module
If the FromDual Performance Monitor Agent is running under a different user than root not all information will be displayed correctly because of missing privileges.
You either have to run the FromDual Performance Monitor Agent under root (security!) or grant the appropriate rights to the user the Agent is running.
For more information look also into our Forum.
Please let us know if there are some errors in this FromDual Performance Monitor Installation Guide or if something is not described clear enough!
3.9. Troubleshooting
3.9.1. Troubleshooting the Zabbix Server
-
Make sure the Database of the Zabbix Server is up and running:
$ systemctl status mariadb $ ps -ef | grep mariadbd $ journalctl -xeu mariadb
Otherwise the Zabbix Web Application will complain and the Zabbix Server will not start.
-
Make sure the Zabbix Server is up and running:
$ systemctl status zabbix-server $ journalctl -xeu zabbix-server
-
Check the Zabbix Server Log for problems or reasons:
$ tail -n 100 /var/log/zabbix/zabbix_server.log
-
Check if Zabbix Server can connect to its Database. If not, this should be visible in the Zabbix Server Log. In the database you should see some Zabbix Processes connected:
SQL> SHOW PROCESSLIST;
3.9.2. Troubleshooting the Zabbix Web Interface
-
Check if a Webserver (for example Apache) is running so the Zabbix Web Interface can be executed:
$ systemctl status apache2 $ journalctl -xeu apache2
If everything is fine it should look as follows (Zabbix Server is running):
3.9.3. Troubleshooting the Zabbix Agent
-
Make sure the Zabbix Agent is running (check the Zabbix Agent Log).
-
Check if the Status of the Host is Monitored and if Availability is green.
-
If Availability is red and you see the following message:
Got empty string from [137.58.246.161]. Assuming that agent dropped connection because of access permissions
Check if the hostname of the Zabbix Agent matches with the name on the Host in the Zabbix Server (case sensitive, white space etc. matters!). -
Set
DebugLevel = 4in the Zabbix Agent configuration file, restart the agent and see if you can see any reason in the agent log file (do not forget to set it back afterwards because it becomes very verbose). -
Try to send a message manually from as the Zabbix Agent to the Zabbix Server:
$ sudo -u zabbix zabbix_sender --zabbix-server=192.168.0.1 \ --host=mysql_2_4_2 --key=FromDual.MySQLmysql.Questions \ --value="123456789" --verbose Info from server: "Processed 1 Failed 0 Total 1 Seconds spent 0.000180" sent: 1; skipped: 0; total: 1
-
Check under: Monitoring → Latest data if the data have been arriving (timestamp).
-
Try to reach the Zabbix Agent from as the Zabbix Server:
$ sudo -u zabbix zabbix_get --host=192.168.0.33 --source-address=192.168.0.1 \ --key="FromDual.MySQL.check" $ echo $? 141
This typically means that host does not match.
$ sudo -u zabbix zabbix_get --host=192.168.0.33 --source-address=192.168.0.1 \ --key="FromDual.MySQL.check" ZBX_NOTSUPPORTED
This means that the item FromDual.MySQL.check is not known to the Zabbix Server. Then you have possibly forgotten to add the fpmmm module template to the host you want to monitor.
-
If you run the process module you should make sure, that the user running the Zabbix Agent has access to the PID file. Ideally you run the Zabbix agent with the same user as the database process runs or you configure MariaDB/MySQL in the way that the PID file located on a location where also other processes have access to it.
3.9.4. Troubleshooting the FromDual Performance Monitor Agent
Our philosophy is, that the fpmmm Agent is running under the O/S user mysql. For the fpmmm Agent, this is necessary because otherwise we do not have access to the PID file of the mariadbd / mysqld.
If all those hints do not help or if you have some comments or feedback please let us know at our FromDual Performance Monitor Forum (we do NOT cover Zabbix problems).
3.10. Upgrading the FromDual Performance Monitor
The FromDual Performance Monitor can be typically upgraded on the fly without any changes in configuration or any significant downtime.
In FromDual Performance Monitor v2.0.0 we have done some configuration variable changes. So you have to adapt the fpmmm configuration. Please read the FromDual Performance Monitor Release Notes for more details.
Upgrade we typically recommend to do like this:
$ VERSION='m.n.o'
$ cd /opt
$ tar xf /download/fpmmm-${VERSION}.tar.gz
$ rm -f fpmmm ; ln -s fpmmm-${VERSION} fpmmm
If you are using our packages from our Repository the upgrade will be done automatically.
3.11. Fpmmm Nagios plug-ins
The FromDual Performance Monitor (fpmmm) can also be used for supplying your Nagios Monitoring infrastructure. fpmmm v2.0.0 replaces the former FromDual Nagios plug-ins for MariaDB and MySQL.
3.11.1. Converting Nagios plug-ins to fpmmm
Converting your former FromDual Nagios plug-ins to fpmmm is quite simple. You have to convert the Nagios plugin command to an fpmmm command. Here a simple example:
$ ./check_db_mysql.pl --user=nagios --password=secret --host=127.0.0.1 --port=3306
should be changed to:
$ ./fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=check_db
The former FromDual Nagios plug-in options will be placed in the fpmmm configuration file (/etc/nagios_fpmmm.conf) and should be converted to:
| from | --user |
to | Username |
|---|---|---|---|
from |
|
to |
|
from |
|
to |
|
from |
|
to |
|
from |
|
to |
|
A complete fpmmm configuration file converted from the FromDual Nagios plug-ins should look as follows:
# # /etc/nagios_fpmmm.conf # [default] AgentLockFile = /run/lock/fpmmm/fpmmm.lock OutputFormat = nagios CacheFileBase = /var/cache/fpmmm/fpmmm Hostname = my_machine Username = fpmmm_agent Password = secret MysqlHost = 127.0.0.1 MysqlPort = 3306 Socket = /var/lib/mysql/mysql.sock
Now we have a list of all commands how the should be converted from Nagios plug-ins to fpmmm:
$ ./check_db_mysql.pl --user=nagios --password=secret --host=127.0.0.1 --port=3306 $ ./bin/fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=check_db $ ./check_repl_mysql_cnt_slave_hosts.pl --user=nagios --password=secret --host=127.0.0.1 --port=3306 --expected=3 --critical=1 --warning=2 $ ./bin/fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=check_repl_cnt_slave_hosts --expected=3 --critical=1 --warning=2 $ ./check_repl_mysql_io_thread.pl --user=nagios --password=secret --host=127.0.0.1 --port=3306 $ ./bin/fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=check_repl_io_thread $ ./check_repl_mysql_sql_thread.pl --user=nagios --password=secret --host=127.0.0.1 --port=3306 $ ./bin/fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=check_repl_sql_thread $ ./check_repl_mysql_read_exec_pos.pl --user=nagios --password=secret --host=127.0.0.1 --port=3306 --critical=100000 --warning=10000 $ ./bin/fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=check_repl_read_exec_pos --critical=100000 --warning=10000 $ ./check_repl_mysql_seconds_behind_master.pl --user=nagios --password=secret --host=127.0.0.1 --port=3306 --critical=60 --warning=10 $ ./bin/fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=check_repl_seconds_behind_master --critical=60 --warning=10 $ ./check_repl_mysql_readonly.pl --user=nagios --password=secret --host=127.0.0.1 --port=3306 $ ./bin/fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=check_repl_readonly $ ./check_galera_nodes.pl --user=nagios --password=secret --host=127.0.0.1 --port=3306 --nodes=3 $ ./bin/fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=check_galera_nodes --nodes=3 $ ./check_repl_mysql_heartbeat.pl --master-user=nagios --master-password=secret --master-host=192.168.1.1 --master-port=3306 --slave-user=nagios --slave-password=secret --slave-host=192.168.1.2 --slave-port=3306 --heartbeat-schema=test --heartbeat-table=heartbeat --heartbeat-beat-field=beat --heartbeat-id-field=id --heartbeat-id=1 $ ./bin/fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=check_repl_heartbeat --master-user=nagios --master-password=secret --master-host=192.168.1.1 --master-port=3306 --slave-user=nagios --slave-password=secret --slave-host=192.168.1.2 --slave-port=3306 --heartbeat-schema=test --heartbeat-table=heartbeat --heartbeat-beat-field=beat --heartbeat-id-field=id --heartbeat-id=1 $ ./check_errorlog_mysql.pl --error-log=/var/log/mysql/chef_mariadb-107_error.log --configuration=/var/lib/fpmmm/fpmmm_error_log.state --instance=mariadb-107 $ ./bin/fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=check_errorlog --error-log=/var/log/mysql/chef_mariadb-107_error.log --configuration=/var/lib/fpmmm/fpmmm_error_log.state --instance=mariadb-107 $ ./perf_mysql.pl --user=nagios --password=secret --host=127.0.0.1 --port=3306 --output=nagios --module=uptime $ ./bin/fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=perf --output=nagios --module=uptime
If you seek for Nagios plug-in specific help you can run the following command:
$ ./bin/fpmmm --config=/etc/nagios_fpmmm.conf --nagios-plugin=perf --output=nagios --module=uptime --help
3.11.2. Set-up Nagios NRPE Agent
This should be done on the machine to monitor (client) - where the database resides.
$ apt-get install nagios-nrpe-server nagios-plugins-basic $ systemctl status nagios-nrpe-server $ systemctl start nagios-nrpe-server $ /usr/lib/nagios/plugins/check_nrpe --host=localhost --command=check_users USERS OK - 1 users currently logged in |users=1;5;10;0
Add Nagios Monitoring Server:
# /etc/nagios/nrpe.cfg allowed_hosts=127.0.0.1,::1,192.168.56.102
Add fpmmm agent commands:
# /etc/nagios/nrpe_local.cfg command[fpmmm_check_db]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=check_db command[fpmmm_check_repl_cnt_slave_hosts]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=check_repl_cnt_slave_hosts --expected=3 --critical=1 --warning=2 command[fpmmm_check_repl_io_thread]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=check_repl_io_thread command[fpmmm_check_repl_sql_thread]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=check_repl_sql_thread command[fpmmm_check_repl_read_exec_pos]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=check_repl_read_exec_pos --critical=100000 --warning=10000 command[fpmmm_check_repl_seconds_behind_master]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=check_repl_seconds_behind_master --critical=60 --warning=10 command[fpmmm_check_repl_readonly]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=check_repl_readonly command[fpmmm_check_repl_heartbeat]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=check_repl_heartbeat --master-user=nagios --master-password=secret --master-host=192.168.1.2 --master-port=3306 --slave-user=nagios --slave-password=secret --slave-host=192.168.1.2 --slave-port=3306 --heartbeat-schema=test --heartbeat-table=heartbeat --heartbeat-beat-field=beat --heartbeat-id-field=id --heartbeat-id=1 command[fpmmm_check_galera_nodes]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=check_galera_nodes --nodes=3 command[fpmmm_check_errorlog]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=check_errorlog --error-log=/var/log/mysql/mysqld.log --configuration=/tmp/fpmmm_error_log.state --instance=mariadb-107 command[fpmmm_perf_uptime]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=uptime command[fpmmm_perf_connections]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=connections command[fpmmm_perf_galera]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=galera command[fpmmm_perf_thread_cache]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=thread_cache command[fpmmm_perf_network_traffic]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=network_traffic command[fpmmm_perf_queries]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=queries command[fpmmm_perf_query_cache]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=query_cache command[fpmmm_perf_myisam_key_buffer]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=myisam_key_buffer command[fpmmm_perf_table_cache]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=table_cache command[fpmmm_perf_temporary_tables]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=temporary_tables command[fpmmm_perf_tables]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=tables command[fpmmm_perf_slow_queries]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=slow_queries command[fpmmm_perf_bin_log]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=bin_log command[fpmmm_perf_innodb_buffer_pool]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=innodb_buffer_pool command[fpmmm_perf_innodb_buffer_pool_io]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=innodb_buffer_pool_io command[fpmmm_perf_innodb_io]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=innodb_io command[fpmmm_perf_innodb_data]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=innodb_data command[fpmmm_perf_innodb_logfile]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=innodb_logfile command[fpmmm_perf_innodb_row_locking]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=innodb_row_locking command[fpmmm_perf_innodb_queries]=/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=perf --output=nagios --module=innodb_queries
Then restart the Nagios NRPE server:
$ systemctl restart nagios-nrpe-server
Fpmmm agent running with Nagios plug-ins:
$ sudo -u nagios /opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf --nagios-plugin=check_db Database seems up and running...
Check for errors:
$ tail /var/log/fpmmm/fpmmm.log
Combination of both:
$ chown nagios: /etc/fpmmm.conf $ chown -R nagios: /var/log/fpmmm $ chown -R nagios: /run/lock/fpmmm $ /usr/lib/nagios/plugins/check_nrpe --host=localhost --command=fpmmm_check_db Database seems up and running... $ /usr/lib/nagios/plugins/check_nrpe --host=localhost --command=fpmmm_check_repl_readonly ... $ /usr/lib/nagios/plugins/check_nrpe --host=localhost --command=fpmmm_perf_uptime ...
3.11.3. Set-up Nagios Monitoring Server
$ apt-get install nagios-nrpe-server $ /usr/lib/nagios/plugins/check_nrpe --host=192.168.56.108 NRPE v4.0.3
Set the NRPE Check on the Server Configuration file:
$ /usr/lib/nagios/plugins/check_nrpe --host=192.168.56.108 --unknown-timeout --timeout=5 --command=fpmmm_check_db Database seems up and running... $ /usr/lib/nagios/plugins/check_nrpe --host=192.168.56.108 --command=fpmmm_check_repl_readonly ... $ /usr/lib/nagios/plugins/check_nrpe --host=192.168.56.108 --command=fpmmm_perf_uptime ...
Define your database machine and the services to monitor:
# /etc/nagios4/nagios.cfg
cfg_file=/etc/nagios4/objects/nrpeclient.cfg
# /etc/nagios4/objects/nrpeclient.cfg
define host {
use linux-server
host_name debian11
alias debian11.rebenweg
address 192.168.56.108
max_check_attempts 3
contact_groups admins
}
define hostgroup {
hostgroup_name databases
alias MariaDB and MySQL databases
members debian11
}
define service {
use generic-service
host_name debian11
service_description fpmmm check_db
check_command check_nrpe!fpmmm_check_db
}
define service {
use generic-service
host_name debian11
service_description fpmmm check_repl_readonly
check_command check_nrpe!fpmmm_check_repl_readonly
}
define service {
use generic-service
host_name debian11
service_description fpmmm perf_uptime
check_command check_nrpe!fpmmm_perf_uptime
}
Test configuration and restart Nagios
$ /usr/sbin/nagios4 -v /etc/nagios4/nagios.cfg $ systemctl restart nagios4
Then you should see the results in your web-browser.
3.11.4. Sources
3.12. SNMP Monitoring
The newest release of the Performance Monitor v2.0.0 (fpmmm) allows you to monitor your MariaDB and MySQL databases via SNMP (Simple Network Management Protocol).
This feature enables you to report your Database Metrics into Enterprise Monitoring solutions from Microsoft, IBM or into Oracle Cloud Control.
On this page we will show you the few simple steps it needs to send the data from your fpmmm Agent to your SNMP Manager.
3.12.1. Check if SNMP Manager can be reached
To make sure fpmmm can send data to the SNMP Manager at all you can test the connection with the following command to send SNMP Notifications to the SNMP Manager:
$ COMMUNITY='public'
$ MANAGER='192.168.56.102'
$ PORT='162'
$ TRAP_OID='1.3.6.1.4.1.57800.1.1.2'
$ OID='1.3.6.1.4.1.57800.1.1.1'
$ TYPE='c'
$ VALUE=$(mariadb --user=root --execute="SELECT variable_value FROM information_schema.global_status WHERE variable_name LIKE 'threads_running'\G" | grep variable_value | cut -d' ' -f2)
$ snmptrap -v 2c -c ${COMMUNITY} ${MANAGER}:${PORT} '' ${TRAP_OID} ${OID} ${TYPE} "${VALUE}"
Then check in the SNMP Manager Logfile if the traps arrive.
3.12.2. Copy fpmmm MIBs to your fpmmm Agent Machine
You can see where your fpmmm MIBs are expected on your database machine (where your fpmmm Agent is located) with the following command:
$ net-snmp-config --default-mibdirs
${HOME}/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp
Copy the fpmmm MIBs as follows (we assume that you work with the same user as your fpmmm Agent works (zabbix or mariadb/mysql)):
$ mkdir -p ${HOME}/.snmp/mibs
$ cp /opt/fpmmm/tpl/FromDual-fpmmm-MIB.mib ${HOME}/.snmp/mibs
or choose any other location you want to have them.
To check if the FromDual MIBs are recognized correctly run these commands:
$ snmptranslate -DFromDual-fpmmm-MIB.mib -m +FromDual-fpmmm-MIB 1.3.6.1.4.1.57800.1.1.1 registered debug token FromDual-fpmmm-MIB.mib, 1 FromDual-fpmmm-MIB::fpmmmLastrun $ snmptranslate -On FromDual-fpmmm-MIB::fpmmmLastrun .1.3.6.1.4.1.57800.1.1.1
Do the same for the SNMP Manager according to your installation instructions of your SNMP Manager.
3.12.3. Configure your FromDual Performance Monitor to send SNMP traps
The fpmmm Configuation File (/etc/fpmmm.conf) should contain at least the following lines to make fpmmm sending SNMP traps instead of Zabbix messages:
[default] # SNMP Server SnmpServer = 192.168.56.102 SnmpCommunity = public SnmpTrapPort = 162 OutputFormat = snmp
Do a test run of fpmmm with:
$ /opt/fpmmm/bin/fpmmm --config=/etc/fpmmm.conf
Then check again on your SNMP Server machine if the SNMP traps arrive:
snmptrapd: Agent Address: 0.0.0.0 Agent Hostname: Date: 1 - 1 - 4 - 1 - 1 - 1970 Enterprise OID: . Trap Type: Cold Start Trap Sub-Type: 0 Community/Infosec Context: TRAP2, SNMP v2c, community public Uptime: 0 Description: Cold Start PDU Attribute/Value Pair Array:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1215419) 3:22:34.19#012SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-SMI::enterprises.57800.1.1.2#012SNMPv2-SMI::enterprises.57800.1.1.1 = Counter32: 3 snmptrapd: Agent Address: 0.0.0.0 Agent Hostname: Date: 1 - 1 - 4 - 1 - 1 - 1970 Enterprise OID: . Trap Type: Cold Start Trap Sub-Type: 0 Community/Infosec Context: TRAP2, SNMP v2c, community public Uptime: 0 Description: Cold Start PDU Attribute/Value Pair Array:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (60) 0:00:00.60#012SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-SMI::enterprises.57800.1.1.2#012SNMPv2-SMI::enterprises.57800.2.7.1 = Counter32: 1 snmptrapd: Agent Address: 0.0.0.0 Agent Hostname: Date: 1 - 1 - 4 - 1 - 1 - 1970 Enterprise OID: . Trap Type: Cold Start Trap Sub-Type: 0 Community/Infosec Context: TRAP2, SNMP v2c, community public Uptime: 0 Description: Cold Start PDU Attribute/Value Pair Array:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (60) 0:00:00.60#012SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-SMI::enterprises.57800.1.1.2#012SNMPv2-SMI::enterprises.57800.2.7.2 = Counter32: 151 snmptrapd: Agent Address: 0.0.0.0 Agent Hostname: Date: 1 - 1 - 4 - 1 - 1 - 1970 Enterprise OID: . Trap Type: Cold Start Trap Sub-Type: 0 Community/Infosec Context: TRAP2, SNMP v2c, community public Uptime: 0 Description: Cold Start PDU Attribute/Value Pair Array:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (60) 0:00:00.60#012SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-SMI::enterprises.57800.1.1.2#012SNMPv2-SMI::enterprises.57800.2.7.1 = Counter32: 1 snmptrapd: Agent Address: 0.0.0.0 Agent Hostname: Date: 1 - 1 - 4 - 1 - 1 - 1970 Enterprise OID: . Trap Type: Cold Start Trap Sub-Type: 0 Community/Infosec Context: TRAP2, SNMP v2c, community public Uptime: 0 Description: Cold Start PDU Attribute/Value Pair Array:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (60) 0:00:00.60#012SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-SMI::enterprises.57800.1.1.2#012SNMPv2-SMI::enterprises.57800.2.7.3 = Counter32: 1
This is already all about making fpmmm capable sending SNMP traps.
3.12.4. Sources
3.13. Monitoring PostgreSQL with fpmmmm
postgres=# CREATE USER fpmmm_agent WITH PASSWORD 'secret'; CREATE ROLE postgres=# GRANT pg_use_reserved_connections TO fpmmm_agent; GRANT ROLE postgres=# GRANT pg_read_all_stats TO fpmmm_agent; GRANT ROLE
4. Enterprise Subscription and Support
For commercial use you have to purchase an Enterprise Subscription for the FromDual Performance Monitor. This subscription includes:
-
Notice of available updates for all modules.
-
Access to newest Releases of the MySQL Performance Monitor.
-
Best effort email support for all the FromDual modules. Contact our contact for getting support.
-
Opportunity to suggest enhancement requests.
The Enterprise subscription can be purchased here. This support does NOT contain Zabbix Support! Commercial support for Zabbix you can get from Zabbix directly.
If the installation of the MySQL Performance Monitor is part of a consulting engagement, the support for the first year is free.
5. Performance Monior Release Notes
-
FromDual Performance Monitor for MariaDB 2.2.0 has been released, Release Date: 4 September 2025
-
FromDual Performance Monitor for MariaDB 2.1.0 has been released, Release Date: 5 December 2023
-
FromDual Performance Monitor for MariaDB 2.0.0 has been released, Release Date: 18 May 2022
-
FromDual Performance Monitor for MariaDB 1.2.0 has been released, Release Date: 11 June 2020
-
FromDual Performance Monitor 1.1.0 has been released, Release Date: 17 December 2019
-
FromDual Performance Monitor 1.0.2 has been released, Release Date: 7 March 2019
-
FromDual Performance Monitor for MySQL and MariaDB 1.0.1 has been released, Release Date: 9 February 2017
-
FromDual Performance Monitor for MySQL and MariaDB 1.0.0 has been released, Release Date: 2 October 2016
-
FromDual Performance Monitor for MySQL and MariaDB 0.10.9 has been released, Release Date: 17 August 2016
-
FromDual Performance Monitor for MySQL and MariaDB 0.10.6 has been released, Release Date: 2 August 2016
-
FromDual Performance Monitor for MySQL and MariaDB 0.10.5 has been released, Release Date: 31 July 2015
-
FromDual Performance Monitor for MySQL and MariaDB 0.10.4 has been released, Release Date: 16 May 2015
-
FromDual Performance Monitor for MySQL and MariaDB 0.10.3 has been released, Release Date: 1 May 2015
-
FromDual Performance Monitor for MySQL and MariaDB 0.10.2 has been released, Release Date: 30 April 2015
-
FromDual Performance Monitor for MySQL and MariaDB 0.10.1 has been released, Release Date: 19 April 2015
-
FromDual Performance Monitor for MySQL and MariaDB 0.10.0 has been released, Release Date: 16 April 2015
-
FromDual Performance Monitor for MySQL 0.9.3 has been released, Release Date: 24 May 2014
-
FromDual Performance Monitor for MySQL 0.9.2 has been released, Release Date: 18 April 2014
-
MySQL Performance Monitor New Release 0.9.1, Release Date: 9 April 2013
-
FromDual Performance Monitor for MySQL (MPM) v0.9 released, Release Date: 2 April 2012
-
MySQL Performance Monitor v.0.8.1 is out, Release Date: 24 January 2012
-
MySQL Performance Monitor v.0.8 is out, Release Date: 22 December 2011
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.7.2 is out, Release Date: 2 December 2011
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.7.1 is out, Release Date: 13 June 2011
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.7 is out, Release Date: 10 June 2011
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.6 is out, Release Date: 1 April 2011
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.5 is out, Release Date: 20 February 2011
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.4 is out, Release Date: 16 August 2010
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.3.3 is out, Release Date: 13 August 2010
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.3.2 is out, Release Date: 12 August 2010
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.3.1 is out, Release Date: 12 August 2010
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.3 is out, Release Date: 7 May 2010
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.2.1 is out, Release Date: 6 May 2010
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.2 is out, Release Date: 6 May 2010
-
New version of FromDual’s Performance Monitor for MySQL (MPM) v0.1 is out, Release Date: 6 May 2010
6. Performance Monitor Questions and Answers (Q&A) / Frequently Asked Questions (FAQ)
IMPORTANT: For technical details check our performance-monitor-user-guide[FromDual Performance Monitor User Guide].
-
What is the FromDual Performance Monitor License?
FromDual Performance Monitor is licensed under the FromDual Enterprise Tools License.
-
What are the FromDual Performance Monitor Costs?
FromDual Performance Monitor is free of costs for trial and non-commercial use. For commercial use the yearly fee depends on the amount of database instances you want to operate under FromDual Performance Monitor. Please ask FromDual for a quote.
-
Is the FromDual Performance Monitor free of costs?
FromDual Performance Monitor is free of costs for trial and non-commercial use.