热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

监控mysql锁定状态_Shell脚本监控MySQL主从状态

分享一个Linux下,监控MySQL主从状态及配合企业微信机器人报警的Shell脚本SLAVE_IP:为监控的主机IPUSER:为msyq

分享一个Linux下,监控MySQL主从状态及配合企业微信机器人报警的Shell脚本SLAVE_IP:为监控的主机IPUSER:为msyql用户PASSWORD:为mysql密码WHEREIS_MYSQL:为mysql命令路径WEBHOOK:为企业微信机器人Webhook地址wx():为企业微信机器人函数Check_Mysql_Slave():为监控脚本主函数

#! /bin/bash#source /etc/profileexport PATH&#61;"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"SLAVE_IP&#61;&#96;ip add | grep inet | grep brd | awk -F / &#39;{print $1}&#39; | awk -F " " &#39;{print $2}&#39; | awk &#39;NR&#61;&#61;1&#39;&#96;USER&#61;monitorPASSWORD&#61;monitorTIME&#61;&#96;date&#96;WHEREIS_MYSQL&#61;/opt/mysql/bin/mysqlWEBHOOK&#61;&#39;https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key&#61;bb09197b-5ff6-4928-9872-aa5fa8802689&#39;wx(){cat > $0.msg </dev/null 2>&1 if [ $? -ne 0 ];then echo "Mysql is stopped $DATE" >> /data/mysql/check.log ERROR&#61;"ERROR:Mysql-$SLAVE_IP cannot connect\n$TIME" wx "$ERROR" else #echo "1" >> /data/mysql/check.log IO_SQL_STATUS&#61;&#96;$WHEREIS_MYSQL -u$USER -p$PASSWORD -h$SLAVE_IP -e "show slave status \G" 2>/dev/null | awk &#39;/Slave_.*_Running:/{print $1$2}&#39;&#96; for i in $IO_SQL_STATUS;do THREAD_STATUS_NAME&#61;${i%:*} THREAD_STATUS&#61;${i#*:} if [ "$THREAD_STATUS" !&#61; "Yes" ];then STATUS&#61;"ERROR:Mysql-$SLAVE_IP $THREAD_STATUS_NAME status is $THREAD_STATUS!\n$TIME" echo "$STATUS" >> /data/mysql/check.log wx "$STATUS" fi done fi}Check_Mysql_Slave

最终报警效果如下&#xff1a;

167df692d9774e53c6addda35195e1f7.png



推荐阅读
author-avatar
舍舍与你-6
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有