各位用户为了找寻关于监控MySQL主从状态的shell脚本的资料费劲了很多周折。这里教程网为您整理了关于监控MySQL主从状态的shell脚本的相关资料,仅供查阅,以下为您介绍关于监控MySQL主从状态的shell脚本的详细内容
分享一个Linux下,监控MySQL主从状态及配合企业微信机器人报警的Shell脚本
SLAVE_IP:为监控的主机IP USER:为msyql用户 PASSWORD:为mysql密码 WHEREIS_MYSQL:为mysql命令路径 WEBHOOK:为企业微信机器人Webhook地址 wx():为企业微信机器人函数 Check_Mysql_Slave():为监控脚本主函数 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51#! /bin/bash
#
source
/etc/profile
export
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=monitor
PASSWORD=xxxxxx
TIME=`
date
`
WHEREIS_MYSQL=
/opt/mysql/bin/mysql
WEBHOOK=
'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=bb09197b-5ff6-4928-9872-xxxxxx'
wx(){
cat
> $0.msg << EOF
curl
'$WEBHOOK'
-H
'Content-Type: application/json'
-d '
{
"msgtype"
:
"text"
,
"text"
: {
"content"
:
"$1"
,
}
}'
EOF
sh $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
.log
ERROR=
"ERROR:Mysql-$SLAVE_IP cannot connectn$TIME"
wx
"$ERROR"
else
#echo "1" >> /data/mysql/check.log
IO_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"
fi
done
fi
}
Check_Mysql_Slave
最终报警效果如下:
以上就是监控MySQL主从状态的shell脚本的详细内容,更多关于监控MySQL主从状态的资料请关注其它相关文章!
原文链接:https://www.cnblogs.com/easydb/p/14135276.html