zabbix-监控mysql 如何在Zabbix上安装MySQL监控插件PMP

 

PMP,全称是Percona Monitoring Plugins,是Percona公司为MySQL监控写的插件。支持Nagios,Cacti。从PMP 1.1开始,支持Zabbix。

下面,看看如何在Zabbix上安装PMP。

1.配置Zabbix Agent

下载PMP

[root@Agent ~]#  yum install -y  https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm

2.检查软件安装的路径
[root@db01 ~]# rpm -ql percona-zabbix-templates
/var/lib/zabbix/percona
/var/lib/zabbix/percona/scripts #脚本存放的位置
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
/var/lib/zabbix/percona/templates
/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf #监控项配置文件
/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml

3.修改配置,填写数据库的用户名和密码【mysql -uroot -pBgx123.com】
[root@db01 ~]# vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = 'root';
$mysql_pass = 'Bgx123.com';

4.执行脚本测试是否能取值
[root@db01 ~]# sh /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
6

5.测试MySQL实例本身的状态变量

# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh: line 35: /usr/bin/php: No such file or directory
ERROR: run the command manually to investigate the problem: /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg

因为它的脚本是用PHP实现的,故需要安装php和php-mysql

# yum install php php-mysql

重新测试该脚本

# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg

有值返回就代表OK

6.自定义监控项

[root@db01 ~]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@db01 ~]# systemctl restart zabbix-agent

7.使用zabbix-server取值
[root@zabbix-server ~]# zabbix_get -s 172.16.1.51 -k MySQL.Key-read-requests
rm: 无法删除"/tmp/localhost-mysql_cacti_stats.txt": 不允许的操作
6

8.修改权限 

[root@db01 tmp]# chown zabbix:zabbix localhost-mysql_cacti_stats.txt

[root@db01 tmp]# systemctl restart zabbix-agent.service

9.导入模板,并且关联mysql对应的主机

PMP,全称是Percona Monitoring Plugins,是Percona公司为MySQL监控写的插件。支持Nagios,Cacti。从PMP 1.1开始,支持Zabbix。

下面,看看如何在Zabbix上安装PMP。

1.配置Zabbix Agent

下载PMP

[root@Agent ~]#  yum install -y  https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm

2.检查软件安装的路径
[root@db01 ~]# rpm -ql percona-zabbix-templates
/var/lib/zabbix/percona
/var/lib/zabbix/percona/scripts #脚本存放的位置
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
/var/lib/zabbix/percona/templates
/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf #监控项配置文件
/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml

3.修改配置,填写数据库的用户名和密码【mysql -uroot -pBgx123.com】
[root@db01 ~]# vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = 'root';
$mysql_pass = 'Bgx123.com';

4.执行脚本测试是否能取值
[root@db01 ~]# sh /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
6

5.测试MySQL实例本身的状态变量

# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg

/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh: line 35: /usr/bin/php: No such file or directory
ERROR: run the command manually to investigate the problem: /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg

因为它的脚本是用PHP实现的,故需要安装php和php-mysql

# yum install php php-mysql

重新测试该脚本

# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg

有值返回就代表OK

6.自定义监控项

[root@db01 ~]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@db01 ~]# systemctl restart zabbix-agent

7.使用zabbix-server取值
[root@zabbix-server ~]# zabbix_get -s 172.16.1.51 -k MySQL.Key-read-requests
rm: 无法删除"/tmp/localhost-mysql_cacti_stats.txt": 不允许的操作
6

8.修改权限 

[root@db01 tmp]# chown zabbix:zabbix localhost-mysql_cacti_stats.txt

[root@db01 tmp]# systemctl restart zabbix-agent.service

9.导入模板,并且关联mysql对应的主机