Zabbix监控数据库主从同步
基于目前zabbix的架构,作为zabbix的后端有两台数据库之间做了主主同步高可用,所以zabbix就要监控两台数据库之间数据同步的状态,以防数据库同步失败,主数据库故障导致整个zabbix监控系统瘫痪
原理:MySQL数据库之间同步主要是看两个关键字:
只要检测slave状态输出的yes的个数,就可判断数据库的同步状态是否正常,
第一个yes的意义是从主数据库拉取是数据库日志的动作是否成功
第二个yes是本机同步日志动作是否成功
只有当两个关键字都为yes时数据库才会同步成功,所以监控数据库的同步状态就是监控yes的个数
因为两边数据库做了主主同步,所以两边的slave状态都要监控
功能实现:
在被监控的数据库服务器上操作:
修改配置文件
脚本内容:
重启zabbix-agent服务
可以在zabbix-server端用zabbix_get测试是否可以检测到自定义的监控键值
zabbix_get -s 10.18.4.16 -k "mysql.sync.check"
Zabbix web端配置:
创建监控项:
创建触发器:
另一台数据库服务器操作同上
测试:
停掉其中一台数据库:
恢复数据库状态: