Zabbix4 percona插件监控mysql

来自Linux78|wiki
Bob讨论 | 贡献2020年3月31日 (二) 11:59的版本 (创建页面,内容为“percona是一款能够详细监控zabbix MySQL的插件 === 官方下载percona插件 === wget https://www.percona.com/downloads/percona-monitoring-plugins/perco…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

percona是一款能够详细监控zabbix MySQL的插件

官方下载percona插件

wget 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

安装zabbix-agent

首先安装zabbix-agent源

rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/6/x86_64/zabbix-release-4.0-1.el6.noarch.rpm

安装zabbix客户端及依赖

yum -y install zabbix-agent php php-mysql

安装percona

rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
cd /var/lib/zabbix/percona/ && tree
.
├── scripts
│   ├── get_mysql_stats_wrapper.sh
│   └── ss_get_mysql_stats.php
└── templates
    ├── userparameter_percona_mysql.conf
    └── zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml

复制文件

cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

修改配置文件

vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = 'root';
$mysql_pass = ;
$mysql_port = 3306;

注意:这里填写的用户和密码必须有localhost登录权限,否则获取不到key值。

sed -i 's#HOST=localhost#HOST=127.0.0.1#g' /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
chmod +x  /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh 

修改zabbix-ageent 配置文件

sed -i.ori '98s#127.0.0.1#172.16.1.71#' /etc/zabbix/zabbix_agentd.conf
echo '/etc/init.d/zabbix-agent start' >>/etc/rc.local

重启服务

systemctl restart zabbix-agent

在Agent节点上配置和验证与127.0.0.1的MySQL连接,返回任何数字则表式连接成功

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

可能会有以下错误

/usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg ERROR: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

可以通过命令来查看

/usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host 127.0.0.1 --items gg

需要修改文件权限

chmod 600 /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php

与此同时要注意/tmp/127.0.0.1-mysql_cacti_stats.txt权限问题,要么删除这个文件或者,若是没有该文件,还需手动创建并授权

touch /tmp/127.0.0.1-mysql_cacti_stats.txt
chown zabbix.zabbix /tmp/127.0.0.1-mysql_cacti_stats.txt

从这个get_mysql_stats_wrapper.sh脚本可以看到如过断开的话,会把 /tmp/127.0.0.1-mysql_cacti_stats.txt删除,再次连接时,会报错,因此只需要把这块改成重定向即可


TIMENOW=`date +%s`
       if [ `expr $TIMENOW - $TIMEFLM` -gt 300 ]; then
       #rm -f $CACHEFILE
       >$CACHEFILE
echo "" > $CACHEFILE $CMD 2>&1 > /dev/null