监控MySQL主从状态的shell脚本
时间:2022-05-30 13:58:57|栏目:MySQL|点击: 次
分享一个Linux下,监控MySQL主从状态及配合企业微信机器人报警的Shell脚本
- SLAVE_IP:为监控的主机IP
- USER:为msyql用户
- PASSWORD:为mysql密码
- WHEREIS_MYSQL:为mysql命令路径
- WEBHOOK:为企业微信机器人Webhook地址
- wx():为企业微信机器人函数
- Check_Mysql_Slave():为监控脚本主函数
#! /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
您可能感兴趣的文章
- 05-31MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
- 05-31MySQL索引失效十种场景与优化方案
- 05-31MYSQL 高级文本查询之regexp_like和REGEXP详解
- 05-31MySQL获取binlog的开始时间和结束时间(最新方法)
- 05-31MySQL索引查询的具体使用
- 05-31基于MySQL和Redis扣减库存的实践
- 05-31关于MySQL的存储过程与存储函数
- 05-31MySQL实战文章(非常全的基础入门类教程)
- 05-31MySQL Flink Watermark实现事件时间处理的关键技术
- 05-31MySQL Flink实时流处理的核心技术之窗口机制


阅读排行
推荐教程
- 05-30开启MySQL远程连接的方法
- 05-30MySQL数据库中varchar类型的数字比较大小的方法
- 05-30浅谈mysql返回Boolean类型的几种情况
- 05-30MySQL线上死锁分析实战
- 05-30Prometheus 监控MySQL使用grafana展示
- 05-30CentOS7安装MySQL 8.0.26的过程
- 05-30Navicat for MySQL 11注册码激活码汇总
- 05-30详解mysql触发器trigger实例
- 05-30MySQL高可用架构之MHA架构全解
- 05-30mysql 8.0.24 安装配置方法图文教程


