700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 监控mysql锁定状态_Shell脚本监控MySQL主从状态

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

时间:2023-03-11 00:32:36

相关推荐

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

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

#! /bin/bash#source /etc/profileexport PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"SLAVE_IP=`ip add | grep inet | grep brd | awk -F / '{print $1}' | awk -F " " '{print $2}' | awk 'NR==1'`USER=monitorPASSWORD=monitorTIME=`date`WHEREIS_MYSQL=/opt/mysql/bin/mysqlWEBHOOK='https://qyapi./cgi-bin/webhook/send?key=bb09197b-5ff6-4928-9872-aa5fa8802689'wx(){cat > $0.msg << EOFcurl '$WEBHOOK' \ -H 'Content-Type: application/json' \ -d ' {"msgtype": "text", "text": {"content": "$1", } }'EOFsh $0.msg && rm -rf $0.msg}Check_Mysql_Slave(){$WHEREIS_MYSQL -u$USER -p$PASSWORD -h$SLAVE_IP -e "select version();" >/dev/null 2>&1 if [ $? -ne 0 ];then echo "Mysql is stopped $DATE" >> /data/mysql/check.logERROR="ERROR:Mysql-$SLAVE_IP cannot connect\n$TIME" wx "$ERROR" else #echo "1" >> /data/mysql/check.logIO_SQL_STATUS=`$WHEREIS_MYSQL -u$USER -p$PASSWORD -h$SLAVE_IP -e "show slave status \G" 2>/dev/null | awk '/Slave_.*_Running:/{print $1$2}'`for i in $IO_SQL_STATUS;do THREAD_STATUS_NAME=${i%:*} THREAD_STATUS=${i#*:} if [ "$THREAD_STATUS" != "Yes" ];then STATUS="ERROR:Mysql-$SLAVE_IP $THREAD_STATUS_NAME status is $THREAD_STATUS!\n$TIME" echo "$STATUS" >> /data/mysql/check.log wx "$STATUS" fidone fi}Check_Mysql_Slave

最终报警效果如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。