WGCLOUD - 如何实现监测mysql主从节点同步状态是否正常

WGCLOUD的自定义监控项,可以执行一些我们自定义的指令或脚本,非常灵活

本文我们尝试使用此功能来监测我们的mysql从节点是否在正常工作,如果如下两项值都为yes,那么slave节点是正常工作的,否则从节点同步出现了问题

执行sql,返回如下结果

show slave status

 

 

 

知道了大致思路,我们开始写我们的shell脚本,非常简单的

比如我们的shell脚本为/home/slaveCheck.sh,记得给此sh文件加上可执行权限,内容如下

#!/bin/bash
#mysql主从同步状态监控脚本
#slave节点ip
mysqlIP=192.168.1.2
#port
mysqlPort=3309
#用户名
username=root
#密码中含特殊字符要加"/"
password='123456'

mysql -h$mysqlIP -u$username -p$password -P$mysqlPort -e "show slave status\G" 2>/dev/null | grep -v grep | grep -c 'Yes'

#2>dev/null 去掉告警信息
#grep -v grep 将grep本身的进程去掉
#grep -c 'Yes' 将匹配yes的行数取出来

我们在左侧菜单点击自定义监控模块,添加后就可以正常监控了,如下

 

 

添加页面,输入如下内容

监控主机选择shell脚本(/home/slaveCheck.sh)所在的主机

自定义监控项执行的指令或脚本,输入shell脚本的完全路径即可

告警表达式,这里写的是result<2,表示如果脚本返回的数字小于2,则进行告警通知

 

 好啦,到这里就完成了

自定义监控项,默认每10分钟执行一次,也可以自定义修改,在agent/config/application.properties中修改,如下

#自定义监控项监控间隔时间,单位秒,默认10分钟,此功能需要升级到专业版
customDataSeconds=600

修改后,重启agent生效

 

posted @ 2022-11-29 20:15  沧海1980  阅读(198)  评论(0编辑  收藏  举报