mysqlshell日常运维脚本(监控MySQL主从状态的shell脚本)
类别:数据库 浏览量:2132
时间:2022-01-15 01:41:10 mysqlshell日常运维脚本
监控MySQL主从状态的shell脚本分享一个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 connect\n$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
您可能感兴趣
- navicatformysql使用视图(Navicat for MySQL的使用教程详解)
- mysql大量数据怎么处理(MySQL删除和插入数据很慢的问题解决)
- mysql的innodb引擎数据结构(MySQL InnoDB架构的相关总结)
- mysql利用数据库日志恢复数据(MySQL通过binlog恢复数据)
- mysql修改表结构的关键字(查看修改MySQL表结构命令)
- ubuntu下mysql安装教程(Ubuntu 20.04 安装和配置MySql5.7的详细教程)
- mysql mvcc 隔离级别(详解MySQL事务的隔离级别与MVCC)
- mysql发生系统错误(MySQL too many connections错误的原因及解决)
- deepin数据库编程(deepin20.1系统安装MySQL8.0.23超详细的MySQL8安装教程)
- mysql冷热数据分离方案(MySQL中使用流式查询避免数据OOM)
- xampp数据库表在哪个文件夹(XAMPP集成环境中MySQL数据库的使用)
- 设置mysql字符集语句(MySQL修改字符集的实战教程)
- mysql的innodb设置(修改MySQL数据库引擎为InnoDB的操作)
- mysqltruncate分区自定义参数(MySQL truncate table语句的使用)
- 将SQL Server数据迁移到MySQL的方法
- mysql将字符串转换为日期的函数(Mysql中时间戳转为Date的方法示例)
- NVIDIA显卡份额冲上88 A饭发愁 游戏优化恐没A卡份了(NVIDIA显卡份额冲上88A饭发愁)
- AMD YES A卡还是N卡 A卡和N卡的区别(AMDYESA卡还是N卡)
- 以后显卡多了一个新选择,N卡和A卡外又多了个I卡(以后显卡多了一个新选择)
- 读卖乐园的彩灯(读卖乐园的彩灯)
- 新疆80后在淘宝卖干果 以前是 不务正业 如今帮乡亲致富(新疆80后在淘宝卖干果)
- 弄清楚了销 售 买 卖这四个字,母婴生意做起来就没那么难了(弄清楚了销售买)
热门推荐
- 无盘服务器配置要求(云服务器配置怎么选)
- 判断iframe是否加载完成
- sql server 新函数(SQL Server分隔函数实例详解)
- idea社区版使用tomcat部署项目(基于IDEA部署Tomcat服务器的步骤详解)
- sqlserver中复合索引(浅析SQL Server 聚焦索引对非聚集索引的影响)
- eval解析json字符串
- 搭建ftp服务器操作步骤(浅谈FTP服务器架设的两种方法)
- django中间件路径校验(Django中使用Whoosh进行全文检索的方法)
- 适合小白入门的mysql教程索引简介(一篇带给你MySQL高性能索引)
- 在python中如何删除指定的行(Python删除n行后的其他行方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9