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主机。

 

 查看相应监控数据图表:

 

 

 

posted @ 2019-12-20 14:40  KeepBetter  阅读(1065)  评论(0)    收藏  举报