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 2 directories, 4 files
复制文件
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
。。。。
zabbix-server端就不再介绍,网上很多教程;安装文件里面的模板比较老,只支持zabbix2.0 ,对于我们zabbix4.0是不支持的,解决这个问题,我们可以安装zabbix2.0 ,导入模板,升级到zabbix3.0,这样模板也升到3.0,这时候的模板才能使用,这里我们就不演示了,直接用我们修改好的模板导入即可
导入摸板
更新完模板,喝杯茶回来,数据应该收集好了
可以根据公司的需求,配置相应的触发器,来实现监控MySQL,到此zabbix4.0 监控MySQL结束了。
你要的模板在这
连接:https://pan.baidu.com/s/1AHd7epDm9KDrsVPaYKKXnQ
密码:m31h