上山打老虎 发表于 2021-7-3 21:35:55

使用zabbix监控mysql主从状态

  公司mysql架构为一主多从。在日常使用过程中我们经常会遇到主从不同步的情况,为了及时处理此问题现使用zabbix监控mysql主从状态并设置触发器,如有异常则发送邮件报警。
  

  我们都知道使用命令“show slave status \G”可以查看mysql从的状态,下面用脚本方式检查其状态。
  

  在mysql-slave中进入zabbix-agent目录创建脚本文件。
  

cat mysql_slave_status.sh
#!/bin/bash
/usr/local/mysql/bin/mysql -uzabbix -e 'show slave status\G' |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes
chmod +x mysql_slave_status.sh  执行 mysql_slave_status.sh 结果为:2

  如果结果不为2则表示主从同步异常,则报警!!
  

  注意:将脚本放置到某目录(需要有权限),我这里放到/etc/zabbix/mysql_slave_status.sh 在zabbix_agentd.conf中最下方加入以下一条语句:
UserParameter=mysql.slavestatus,/etc/zabbix/mysql_slave_status.sh
#添加完成后必须重启zabbix-agentd服务
/etc/init.d/zabbix_agentd restart  之后在Zabbix-Server所在服务器执行以下语句,测试是否成功:
  

zabbix_get -s 192.168.1.101 -kmysql.slavestatus  其中192.168.1.101为脚本所在服务器,mysql.slavestatus为Key值。若返回2,则表示主从服务正常。然后将该监控项在web平台测加入items,设置好报警通知即可。
  


  

  访问zabbix---找到“组态”--》“主机”--》"项目"--创建项目
  



  

  这里输入监控项名称--数据更新时间

  


  

  接下来创建触发器。

  



  

  触发器内容这里注意选择数值小于 2 的时候触发报警,严重性设置为“灾难”
  



  

  至此,zabbix监控mysql主从状态完成。
  

  


  
页: [1]
查看完整版本: 使用zabbix监控mysql主从状态