You are here

Installation guide for the FromDual Performance Monitor for MariaDB and MySQL

The old version of the installation guide you can finde here.

Table of Contents


fpmmm is the FromDual Performance Monitor for MySQL and MariaDB and the counterpart to the MySQL Enterprise Monitor from Oracle.

With fpmmm you can monitor your MySQL/MariaDB 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 next major release.

fpmmm is the successor of mpm. mpm was renamed to fpmmm because of the naming conflict with the Apache Multi-Processing Modules (MPM).

fpmmm needs a Zabbix Server for storing its performance data. There you can see the graphs, and alerts are sent to you from there.


We expect that you have successfully installed a Zabbix monitoring server already somewhere in your network. Find more about Zabbix installation here.

Preparation for fpmmm

Some preparation work has to be done before installing fpmmm:

CentOS 6 / Redhat 6

# yum install php-cli php-process php-mysqli

# cat << _EOF >/etc/php.d/fpmmm.ini
variables_order = "EGPCS"
date.timezone = 'Europe/Zurich'

rpm -Uvh
yum check-update
yum install zabbix-sender

CentOS 7 / Redhat 7

# yum install php-cli php-process php-mysqli

# cat << _EOF >/etc/php.d/fpmmm.ini
variables_order = "EGPCS"
date.timezone = 'Europe/Zurich'

rpm -Uvh
yum check-update
yum install zabbix-sender

CentOS 8 / Redhat 8 / AlmaLinux 8 / Rocky Linux 8

Should work. Coming soon...

Ubuntu 14.04

# apt-get install php5-cli php5-mysqlnd php5-curl

# cat << _EOF >/etc/php5/cli/conf.d/fpmmm.ini
variables_order = "EGPCS"
date.timezone = 'Europe/Zurich'

apt-get install zabbix-agent

OpenSuSE 13.1

# zypper install php5 php5-posix php5-mysql php5-pcntl php5-curl

#cat << _EOF >/etc/php5/conf.d/fpmmm.ini
variables_order = "EGPCS"
date.timezone = 'Europe/Zurich'

zypper addrepo server_monitoring
zypper update
zypper install zabbix-agent

Installation of fpmmm on Ubuntu 18.04 as DEB package


Add the FromDual APT repository as described here.

apt-get install fpmmm

Installation of fpmmm on CentOS 7 as RPM package


Add the FromDual RPM repository as described here.

Important: The CentOS 7 default PHP version is too old. Fpmmm needs PHP 7.0 and newer. How to achieve this is descried here.

rpm -Uvh
yum clean all
yum install zabbix-sender

yum install fpmmm

Installation of fpmmm as tarball

The fpmmm can be downloaded from here.

Then proceed as follows:

cd /opt
tar xf /download/fpmmm-0.10.5.tar.gz
ln -s fpmmm-0.10.5 fpmmm

Configuration of fpmmm

mkdir /etc/fpmmm
cp /opt/fpmmm/tpl/fpmmm.conf.template /etc/fpmmm/fpmmm.conf
chown -R zabbix: /etc/fpmmm

Prepare the fpmmm.conf according to your needs.



LogLevel      = 2
LogFile       = /var/log/fpmmm/fpmmm.log
CacheFileBase = /var/cache/fpmmm/fpmmmCache
AgentLockFile = /var/lock/fpmmm/fpmmm.lock

# Zabbix Server IP address
ZabbixServer  =


Type          = host
Modules       = fpmmm server


Type          = mysqld

Username      = fpmmm_agent
Password      = secret
MysqlHost     =
MysqlPort     = 3306

Modules       = process mysql myisam innodb security
PidFile       = /var/lib/mysql/

Create monitoring User in your MariaDB/MySQL database

CREATE USER 'fpmmm_agent'@'' IDENTIFIED BY 'secret';

GRANT PROCESS ON *.* TO 'fpmmm_agent'@'';
GRANT REPLICATION CLIENT ON *.* TO 'fpmmm_agent'@'';
GRANT SELECT ON `mysql`.`user` TO 'fpmmm_agent'@'';
GRANT REPLICATION SLAVE ON *.* TO 'fpmmm_agent'@'';

GRANT SELECT ON performance_schema.events_statements_summary_by_user_by_event_name TO fpmmm_agent@'';
GRANT SELECT ON performance_schema.events_statements_current TO fpmmm_agent@'';
GRANT SELECT ON performance_schema.setup_instruments TO fpmmm_agent@'';
GRANT SELECT ON performance_schema.metadata_locks TO fpmmm_agent@'';
GRANT SELECT ON performance_schema.threads TO fpmmm_agent@'';

Test fpmmm

/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm/fpmmm.conf 
cat /tmp/fpmmm/fpmmm.log

Adding the fpmmm Temlates to Zabbix

Go to Configuration > Templates > Import and import all the fpmmm templates.

Create 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 MySQL database or something else.

First we have to create 2 hosts, one for the machine and one for the database: Configuration > Hosts > Create host.

Make sure that Host name matches exactly the hostname specified in fpmmm.conf (my_machine and my_mysqld).

Then add the templates fpmmm and server to the machine host (my_machine) and the other templates to the database host (my_mysqld).

Then test again if your fpmmm data reaches your Zabbix server: Monitoring > Latest data > fpmmm and check the time stamp of Last check for example.

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 configuartion file (/etc/zabbix/zabbix_agentd.conf).

UserParameter=FromDual.MySQL.check,/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm/fpmmm.conf

or second by the crontab:

* * * * * /opt/fpmmm/bin/fpmmm --config=/etc/fpmmm/fpmmm.conf >/dev/null

Please let us know if you experience any problem with this installation guide...