一、配置Zabbix Agent
1、插件安装及配置
下载地址:https://www.percona.com/downloads/percona-monitoring-plugins/
安装percona的监控mysql软件包:
1
|
rpm -ivh percona-zabbix-templates-1.1.7-1.noarch.rpm
|
查看rpm安装的文件路径:
1
2
3
4
5
6
7
8
|
[root@zabbix ~]
# rpm -ql percona-zabbix-templates-1.1.7-1.noarch
/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.7.xml
|
其中get_mysql_stats_wrapper.sh和ss_get_mysql_stats.php是mysql监控脚本,供zabbix agent调用;userparameter_percona_mysql.conf是zabbix agent的配置文件,包含了mysql监控的自定义key;zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml是zabbix模板文件,需要在zabbix web端导入。
查看zabbix agent的Include目录:
1
2
|
[root@zabbix ~]
# grep '^Include' /etc/zabbix/zabbix_agentd.conf
Include=
/etc/zabbix/zabbix_agentd
.d/
|
复制配置文件到zabbix agent的Include目录:
1
|
cp
/var/lib/zabbix/percona/templates/userparameter_percona_mysql
.conf
/etc/zabbix/zabbix_agentd
.d/
|
进入percona的脚本目录:
1
|
cd
/var/lib/zabbix/percona/scripts
|
修改脚本里的mysql连接地址:
1
2
|
vim get_mysql_stats_wrapper.sh
HOST=localhost
|
创建mysql连接配置文件ss_get_mysql_stats.php.cnf,写入用户名和密码:
1
2
3
4
|
vim ss_get_mysql_stats.php.cnf
<?php
$mysql_user =
'root'
;
$mysql_pass =
's3cret'
;
|
mysql主从监控的配置:
1
2
3
4
5
6
7
|
vim get_mysql_stats_wrapper.sh
# 找到下面一行,可以看到mysql命令后面没有连接参数,如果你的环境这样执行没有问题的话,可以不改
RES=`HOME=~zabbix mysql -e
'SHOW SLAVE STATUS\G'
|
egrep
'(Slave_IO_Running|Slave_SQL_Running):'
|
awk
-F:
'{print $2}'
|
tr
'\n'
','
`
# 在mysql命令后面加上连接参数:
RES=`HOME=~zabbix mysql -h localhost -uroot -ps3cret -e
'SHOW SLAVE STATUS\G'
|
egrep
'(Slave_IO_Running|Slave_SQL_Running):'
|
awk
-F:
'{print $2}'
|
tr
'\n'
','
`
# 如果脚本运行时出现提示“Warning: Using a password on the command line interface can be insecure.”,解决方法
RES=`HOME=~zabbix mysql -h localhost -uroot -ps3cret -e
'SHOW SLAVE STATUS\G'
2>&1 |
egrep
'(Slave_IO_Running|Slave_SQL_Running):'
|
awk
-F:
'{print $2}'
|
tr
'\n'
','
`
|
2、测试脚本
本地执行脚本测试:
1
2
|
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper
.sh gg
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper
.sh running-slave
|
如果上面测试结果不正常,继续下面调试,查看错误原因:
1
|
/usr/bin/php
-q
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats
.php --host localhost --items gg
|
正常输出:
解决上面问题后,再用zabbix用户执行脚本,查看输出:
1
|
sudo
-u zabbix -H
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper
.sh gg
|
如果遇到zabbix用户权限问题,解决方法:
1
2
|
rm
-f
/tmp/localhost-mysql_cacti_stats
.txt
chown
-R zabbix.
/var/lib/zabbix
|
正常输出:
所有调试正常后,重启zabbix agent:
1
|
service zabbix-agent restart
|
最后到zabbix server端远程测试一下:
1
|
zabbix_get -s 192.168.60.211 -k MySQL.Key-
read
-requests
|
正常输出:
二、配置Zabbix Web
1、zabbix web端导入模板文件
模板文件(zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml)在插件安装目录/var/lib/zabbix/percona/templates下,复制出来导入到zabbix web。
导入后的模板名“Percona MySQL Server Template”,模板分组“Percona Templates”。
注意:官方安装包里的模板是在zabbix2.0.9版本下测试的,经测试可导入到zabbix2.0和2.2版本。
zabbix3.0版本环境不能直接导入,解决方法是:找个zabbix2.2版本环境中转一下,即从2.2版本中导出后,再导入到3.0版本。
2、zabbix web端创建主机
创建一个主机,主机链接模板“Percona MySQL Server Template”,把主机剩余配置完成。等待5分钟左右后查看mysql监控数据。
附percona网站链接:
https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html
本文转自 张斌_青岛 51CTO博客,原文链接:http://blog.51cto.com/qicheng0211/1958291