Zabbix监控数据库主从同步

 

基于目前zabbix的架构,作为zabbix的后端有两台数据库之间做了主主同步高可用,所以zabbix就要监控两台数据库之间数据同步的状态,以防数据库同步失败,主数据库故障导致整个zabbix监控系统瘫痪

原理:MySQL数据库之间同步主要是看两个关键字:

zabbix监控MySQL数据库同步状态_第1张图片

只要检测slave状态输出的yes的个数,就可判断数据库的同步状态是否正常,

第一个yes的意义是从主数据库拉取是数据库日志的动作是否成功

第二个yes是本机同步日志动作是否成功

只有当两个关键字都为yes时数据库才会同步成功,所以监控数据库的同步状态就是监控yes的个数

因为两边数据库做了主主同步,所以两边的slave状态都要监控

功能实现:

在被监控的数据库服务器上操作:

修改配置文件

zabbix监控MySQL数据库同步状态_第2张图片

zabbix监控MySQL数据库同步状态_第3张图片

脚本内容:

image.png

重启zabbix-agent服务

可以在zabbix-server端用zabbix_get测试是否可以检测到自定义的监控键值

image.png

zabbix_get -s 10.18.4.16 -k "mysql.sync.check"


Zabbix web端配置:

       创建监控项:

 zabbix监控MySQL数据库同步状态_第4张图片

创建触发器:

zabbix监控MySQL数据库同步状态_第5张图片

另一台数据库服务器操作同上

 

测试:

停掉其中一台数据库:

zabbix监控MySQL数据库同步状态_第6张图片

恢复数据库状态:

zabbix监控MySQL数据库同步状态_第7张图片