You are here
fpmmm installation guide
Table of Contents
- Introduction
- Prerequisites
- Preparation for
fpmmm
- Installation of
fpmmm
on Ubuntu 18.04 as DEB package - Installation of
fpmmm
on CentOS 7 as RPM package - Installation of
fpmmm
as tarball - Configuration of
fpmmm
- Create monitoring User in your MariaDB/MySQL database
- Test
fpmmm
- Adding the
fpmmm
Temlates to Zabbix - Create Hosts on your Zabbix server
- Regularly running the
fpmmm
agent
Introduction
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.
Prerequisites
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' _EOF rpm -Uvh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm 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' _EOF rpm -Uvh http://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/zabbix-release-2.2-1.el7.noarch.rpm yum check-update yum install zabbix-sender
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' _EOF 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' _EOF zypper addrepo http://download.opensuse.org/repositories/server:/monitoring/openSUSE_13.1 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 https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm 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.
Example:
[default] LogLevel = 2 LogFile = /var/log/fpmmm/fpmmm.log CacheFileBase = /var/cache/fpmmm/fpmmmCache AgentLockFile = /var/lock/fpmmm/fpmmm.lock # Zabbix Server IP address ZabbixServer = 192.168.1.42 [my_machine] Type = host Modules = fpmmm server [my_mysqld] Type = mysqld Username = fpmmm Password = secret MysqlHost = 127.0.0.1 MysqlPort = 3306 Modules = process mysql myisam innodb security PidFile = /var/lib/mysql/mysqld.pid
Create monitoring User in your MariaDB/MySQL database
CREATE USER 'fpmmm'@'127.0.0.1' IDENTIFIED BY 'secret'; GRANT PROCESS ON *.* TO 'fpmmm'@'127.0.0.1'; GRANT REPLICATION CLIENT ON *.* TO 'fpmmm'@'127.0.0.1'; GRANT SELECT ON `mysql`.`user` TO 'fpmmm'@'127.0.0.1';
Test fpmmm
/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm/fpmmm.conf 1 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...