zabbix安装percona插件监控mysql数据库
部署完zabbix,自带的对于mysql的监控脚本远远不能满足DBA日常监控的需要,percona就有这个详细监控的模版以及脚本,刚好能用于DBA日常的监控。
1.percona官网下载插件
wget https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/6/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
2.安装rpm包和部署php环境
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
yum install -y php php-mysql
3.安装完成后在/var/lib/zabbix/percona目录下会有两个目录分别放着scripts脚本和模板templates文件
[root@ptyyglc12 softwares]# cd /var/lib/zabbix/percona/
You have mail in /var/spool/mail/root
[root@ptyyglc12 percona]# ls
scripts templates
[root@ptyyglc12 percona]# cd templates/
[root@ptyyglc12 templates]# ls
userparameter_percona_mysql.conf zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@ptyyglc12 templates]# cd ..
You have mail in /var/spool/mail/root
[root@ptyyglc12 percona]# cd scripts/
[root@ptyyglc12 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
4.修改get_mysql_stats_wrapper.sh和ss_get_mysql_stats.php中的mysql信息
vim ss_get_mysql_stats.php
$mysql_user = 'root'; ---用户名
$mysql_pass = '123456'; ---密码
$mysql_port = 3306; ---端口
$mysql_socket = '/data/mysql-data/mysql/mysql.sock'; --socket位置
vim get_mysql_stats_wrapper.sh,修改主机ip,添加mysql用户名和密码
ITEM=$1
HOST=192.168.109.101
DIR=`dirname $0`
CMD="/usr/bin/php -q $DIR/ss_get_mysql_stats.php --host $HOST --items gg"
CACHEFILE="/tmp/$HOST-mysql_cacti_stats.txt"
if [ "$ITEM" = "running-slave" ]; then
# Check for running slave
RES=`HOME=~zabbix mysql -uroot -p123456 -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
if [ "$RES" = " Yes, Yes," ]; then
echo 1
else
echo 0
fi
exit
elif [ -e $CACHEFILE ]; then
说明:scripts目录下get_mysql_stats_wrapper.sh脚本是监控获取MySQL状态的,ss_get_mysql_stats.php文件是配置连接数据库用户名密码的,用shell来调用PHP。
5.拷贝templates目录下的userparameter_percona_mysql.conf 到 zabbix agent目录/etc/zabbix/zabbix_agentd.d
[root@ptyyglc12 zabbix_agentd.d]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
6.修改zabbix agent的配置文件
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=4
SourceIP=本机ip
Server=server端的ip
ServerActive=server端的ip
Hostname=本机/etc/hosts/中的名字 应该和新建主机时主机的名字保持一致
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
Timeout=10
7.测试监控项
[root@ptyyglc12 zabbix]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
76
有数字出现代表正常
注意:这边是root运行的,会在/tmp目录下生成监控myslq的txt文件,这个要修改权限,否则web图形界面监控项会报没有权限无法启用。
[root@ptyyglc12 zabbix]# cd /tmp
You have mail in /var/spool/mail/root
[root@ptyyglc12 tmp]# ls
192.168.109.101-mysql_cacti_stats.txt systemd-private-509b4806e7f04df3babbff4dfd04b00f-colord.service-uOMUgw yum_save_tx.2019-12-19.14-02.9LexzB.yumtx
hsperfdata_root systemd-private-509b4806e7f04df3babbff4dfd04b00f-cups.service-0I2n4n
localhost-mysql_cacti_stats.txt systemd-private-509b4806e7f04df3babbff4dfd04b00f-rtkit-daemon.service-NpZ8Hx
[root@ptyyglc12 tmp]# chown zabbix.zabbix 192.168.109.101-mysql_cacti_stats.txt
8.重启zabbix agent
systemctl restart zabbix-agent
9.进入zabbix web界面,导入xml模板
wget http://jaminzhang.github.io/soft-conf/Zabbix/zbx_percona_mysql_template.xml
sz zbx_percona_mysql_template.xml到本机桌面(自己下载模板是由于用的zabbix_3.4的模板,percona的模板是2.*的所以导入会报错
如果你的是2.*的就直接用templates中的就可以)。
/var/lib/zabbix/percona/templates下面的xml导入模板会报错。
报错:Invalid tag"/zabbix_export/date": "YYYY-MM-DDThh:mm:ssZ" is expected.
解决:这个模板还不支持zabbix,需要修改xml模板文件,网上有对应ZABBIX 3的模板导入即可。
10.db主机应用模板,导入成功后会出现Template Percona Mysql Server模板出现,应用到db主机。
查看相应监控数据图表: