MySQL主从复制状态监控及微信告警
壳脚本实现当MySQL主从状态异常时,触发微信告警
<强> 1。设置主从监控脚本强>
<强>
强>
/mysql/check_repl_status vi/opt/脚本。sh
# !/bin/bash
主机=" #奴隶机器
用户=" # mysql帐号(能执行显示奴隶状态即可,不需要太大的权限)
passwd=" # mysql密码
_msgBodys ()
{
本地int AppID=0
本地用户id=$ 1
本地味精=" $ 2 "
猫& lt; & lt;EOF
{
“吵架”:“$ {UserID} "
“msgtype”:“文本”,
“agentid”:“$ {AppID} "
"文本":{
“内容”:“${味精}"
},
“安全”:“0”
}
EOF
}
_sendMsgs ()
{
CropID=" #微信公众号ID
秘密=" #微信公众号秘密
GURL=" https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$ {CropID}, corpsecret=${秘密}”
Gtoken=$(美元/usr/bin/curl - s - g GURL | grep po”(& lt;=access_token \ W {3}) (\ W) +”)
流苏=" https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$ {Gtoken} "
/usr/bin/curl - s - k - data-ascii“美元(_msgBodys“$ 1”“2美元”)”美元流苏
}
num='/opt/mysql/bin/mysql - u $ user - p passwd - h主机- e '美元显示奴隶状态\ G”| grep - e”Slave_IO_Running: | Slave_SQL_Running:“| awk的{打印$ 2}| grep - c是的”
#检查主从是否存在
如果[!美元num)
然后
公司=癿ysql康涅狄格州失去”
logtime=叭掌凇? Y % - % m - H % d %: % m: % S”的
send_msg=癤XX mysql奴隶连接状态\ n ${公司}\ n检查时间:$ {logtime} "
#发送给所有人
_sendMsgs“@all”“send_msg美元”
#状态不全为是的
elif num lt美元[2]
然后
公司='/opt/mysql/bin/mysql - u $ user - p passwd - H主机- e '美元显示奴隶状态\ G”| grep - e”Master_Host: | Slave_IO_Running: | Slave_SQL_Running:“| sed S/[[:空间:]]//G”
logtime=叭掌凇? Y % - % m - H % d %: % m: % S”的
send_msg=癤XX mysql主从复制状态\ n ${公司}\ n检查时间:$ {logtime} "
#发送给所有人
_sendMsgs“@all”“send_msg美元”
fi
<强> 2。设置crontab定时任务强>
*/5 * * * */mysql/check_repl_status/bin/bash/opt/脚本。上海,在/dev/null 2祝辞,1