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生效