监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员
要求:
每30秒实现检测一次。
如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误。
#!/bin/sh
#monitor mysql master to salve connection
#by zkg 2019-08-22
. /etc/init.d/functions
#Define variables
MYSQLUSER=root
MYSQLPASSWD=DbApp
SOCKET=/data/mysql/tmp/mysql.sock
MYSQLCMD="mysql -u$MYSQLUSER -p$MYSQLPASSWD -S $SOCKET"
#Define array
array_status=($($MYSQLCMD -e "show slave status;"|grep -E "_Running|Behind_Master|_IO_Errno"|awk -F "[:]+" '{print $NF}'|sed 's/ //g'))
error_num=(1158 1159 1008 1007 1062)
#Define function
function check_status(){
if [ "${array_status[0]}" = "Yes" -a "${array_status[1]}" = "Yes" -a "${array_status[2]}" = "0" ];then
action "slave is ok" /bin/true
status=0
return $status
else
status=1
return $status
fi
}
function check_error(){
check_status
if [ $? -ep 1 ];then
for ((i=0;i<${#error_num[*]};i++))
do
if [ "${error_num[i]}" == "${array_status[3]}" ];then
$MYSQLCMD -e "stop slave"
$MYSQLCMD -e "set global sql_slave_skip_counter=1"
$MYSQLCMD -e "start slave"
fi
done
fi
}
function check_again(){
array_status=($($MYSQLCMD -e "show slave status;"|grep -E "_Running|Behind_Master|_IO_Errno"|awk -F "[:]+" '{print $NF}'|sed 's/ //g'))
check_status &>/dev/null
if [ $? -ep 1 ];then
echo "mysql slave is failed,please check quick" >/tmp/mysql_error.log
mail -s "mysql slave is failed" 67897796@qq.com </tmp/mysql_error.log
fi
}
function main(){
while true
do
check_error
check_again
sleep 30
done
}
main
- 监控mysql主从同步状态是否异常,如果异常,则发生短信或邮寄给管理员
- 监控MySQL主从同步是否异常并报警企业案例模拟
- 监控MySQL主从同步是否异常并报警企业案例模拟
- 监控MySQL主从同步是否异常并报警企业案例模拟
- linxu中shell脚本监控mysql主从并调用webservice接口发送短信(粘贴即可使用,亲测)
- 12_小米监控Open-Falcon邮件、短信、电话发送接口
- oracle状态自动监控,发送邮件到管理员邮箱
- 用nodejs监控网站是否挂掉了,如果挂掉就发一封邮件到指定地址。
- 定时监控所有服务器的端口,如果挂起,发送报警邮件
- 定时监控服务端口是否正常 发送邮件
- SQL SERVER 自动监控数据库异常,自动发送邮件通知
- ELK中利用elastalert监控日志中的异常,发送邮件警告
- mysql判断表中字段或者索引是否存在,如果不存在则创建
- python监控网站运行异常并发送邮件的方法
- 监控mysql主从同步状态是否异常
- Matlab 程序结束后发送短信或者邮件
- Matlab 程序结束后发送短信或者邮件
- 监控mysql状态发送邮件
- Zabbix监控之不发送邮件异常【附属】
- 将zabbix 监控图以图片格式发送邮件到管理员邮箱