如何实时监测mysql主从节点工作状态 - WGCLOUD

2022-11-30 14:20:01 浏览数 (3)

WGCLOUD是一款开源运维监测平台,它有一个模块自定义监控项,可以执行一些我们自定义的指令或脚本,非常灵活实用

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

执行sql,返回如下结果

代码语言:javascript复制
show slave status

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

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

代码语言:javascript复制
#!/bin/bash
#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 statusG" 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中修改,如下

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

修改后,重启agent生效

0 人点赞