Zabbix监控Mysql5.5主从同步

时间:2022-04-27 21:53:14

Zabbix监控Mysql5.5主从同步

1、创建监控用户

GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'jiankong'@'127.0.0.1' IDENTIFIED BY 'Zabbix';

2、编写监控脚本

#!/bin/sh
slave_is=($(/usr/local/mysql/bin/mysql -h 127.0.0.1 -ujiankong -p'Zabbix' -e "show slave status \G"|grep Running |awk '{print $2}'))
if [ "${slave_is[0]}" = "Yes" -a "${slave_is[1]}" = "Yes" ]
then
echo '2' #代表正常两个yes
else
echo '1' #代表不正常
fi

执行以上脚本,如果主从同步正常,返回状态2,否则返回状态1.

备注:Mysql5.5在脚本里直接填写密码,执行脚本后不会提示Mysql安全性。如果你的Mysql是5.5以上的版本,该脚本不适用。

Warning: Using a password on the command line interface can be insecure.

3agentd配置文件中声明key

vim /usr/local/zabbix/etc/zabbix_command_tcp.conf
UserParameter=mysql_replication,/bin/bash /usr/local/zabbix/bin/mysql_replication.sh

4、重启agentd服务并进行测试

[root@dubbo bin]# /etc/init.d/zabbix_agentd restart

Restarting zabbix_agentd (via systemctl):                  [  确定  ]

[root@dubbo bin]#

测试

zabbix_server上看看能否获取到key的监控值:

[root@Zabbix bin]# ./zabbix_get -s 172.10.12.174 -k mysql_replication

2

[root@Zabbix bin]#


5、在监控的主机添加监控内容(监控项,触发器)

创建监控项(Item

Zabbix监控Mysql5.5主从同步Zabbix监控Mysql5.5主从同步

备注:名称自己可以随意写,最重要的是键值需要与agentd配置文件中声明key[UserParameter=mysql_replication]保持一致。


创建触发器(Triggers

Zabbix监控Mysql5.5主从同步

Zabbix监控Mysql5.5主从同步Zabbix监控Mysql5.5主从同步

Zabbix监控Mysql5.5主从同步

Zabbix监控Mysql5.5主从同步

Zabbix监控Mysql5.5主从同步

Zabbix监控Mysql5.5主从同步

Zabbix监控Mysql5.5主从同步

最终的触发器

Zabbix监控Mysql5.5主从同步Zabbix监控Mysql5.5主从同步

监控已添加好了,我们现在来进行测试,看下是否告警

首先登录进入从mysql,可以先检查mysql主从状态,可以看到是没有问题的。

Zabbix监控Mysql5.5主从同步

Zabbix监控Mysql5.5主从同步

手工测试,关闭slave

Zabbix监控Mysql5.5主从同步Zabbix监控Mysql5.5主从同步

告警信息

Zabbix监控Mysql5.5主从同步

Zabbix监控Mysql5.5主从同步

启动slave,然后检查slave状态

Zabbix监控Mysql5.5主从同步

Zabbix监控Mysql5.5主从同步

恢复告警信息

Zabbix监控Mysql5.5主从同步Zabbix监控Mysql5.5主从同步