前言
分享一个MHA状态监控的简易脚本,可钉钉告警。其他需求,需自行优化。
需要在manager进程起来后,再执行.
#!/bin/bash
dingding () {
curl "https://oapi.dingtalk.com/robot/send?access_token=$TOKEN" -H 'Content-Type: application/json' -d "{ \"msgtype\": \"text\", \"text\": {\"content\": \"MHA manager\n MHA控制节点:$IP\n MHA主从监控节点:$IP3\n MHA原主库IP:$IP2\n MHA配置文件:$CONF\n $JIEGUO\n 时间:$DATE\n @所有人\"}}"
}
check() {
source /etc/profile
CONF=填入你MHA使用的配置文件
TOKEN="填入你的dingding机器人的token"
IP=`ifconfig eth0 |grep inet |grep netmask |awk '{print $2}'`
IP2=`cat $CONF |grep hostname= |head -n1 | awk -F "=" '{print $2}'`
IP3=`cat $CONF |grep hostname= | awk -F "=" '{print $2}' |tail -1f`
MHAUSR=`cat $CONF |grep "^user" |awk -F "=" '{print $2}'`
MHAPW=`cat $CONF |grep "^password" |awk -F "=" '{print $2}'`
LOG=/var/log/mhaheal
DATE=`date`
echo "$DATE"
ps aux |grep masterha_manager |grep -v grep
if [ $? -ne 0 ];then
ssh $IP3 "mysql -u$MHAUSR -p$MHAPW -h$IP3 -e \"show slave status\G;\"" > $LOG/$IP3-sql-MS.txt
IP4=`cat $LOG/$IP3-sql-MS.txt |grep Master_Host |awk '{print $2}'`
cat $LOG/$IP3-sql-MS.txt |grep Master_Host |awk '{print $2}' |grep "172"
if [ $? -ne 0 ];then
JIEGUO="事件:manager进程丢失,主从监控节点$IP3 出现异常,请检查$IP3"
dingding
else
SLIO=`cat $LOG/$IP3-sql-MS.txt |grep Slave_IO_Running |awk '{print $2}'`
SLSQ=`cat $LOG/$IP3-sql-MS.txt |grep Slave_SQL_Running |awk '{print $2}'`
if [ $IP4 = $IP2 ] && [ $SLIO = "Yes" ] && [ $SLSQ = "Yes" ];then
JIEGUO="事件:仅为manager进程丢失,主从正常,未发生切换\n 现在主库IP为$IP4\n 从库状态\n Slave_IO_Running:$SLIO\n Slave_SQL_Running:$SLSQ"
dingding
elif [ $IP4 = $IP2 ] && [ $SLIO != "Yes" ] || [ $SLSQ != "Yes" ];then
JIEGUO="事件:manager进程丢失,主从未发生切换,但主库出现问题,主从异常\n 现在主库IP为$IP4\n 从库状态\n Slave_IO_Running:$SLIO\n Slave_SQL_Running:$SLSQ"
dingding
elif [ $IP4 != $IP2 ];then
JIEGUO="事件:manager进程丢失,主从发生切换\n 现在主库IP为$IP4\n 从库状态\n Slave_IO_Running:$SLIO\n Slave_SQL_Running:$SLSQ"
dingding
else
JIEGUO="事件:manager进程丢失,请及时处理\n 现在主库IP为$IP4\n 从库状态\n Slave_IO_Running:$SLIO\n Slave_SQL_Running:$SLSQ"
dingding
fi
fi
fi
}
while true
do
check
# check &>> /var/log/mhaheal/manager.log &
sleep 30
done
共有条评论 网友评论