MySQL主从复制状态监控及微信告警

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


MySQL主从复制状态监控及微信告警