shell脚本监控进程(mysql主从同步复制延迟状态监控脚本)
用户投稿
•
•
阅读 105
shell脚本监控进程:MySQL主从同步或者主从复制,往往会存在数据同步延迟的情况,如果延迟较大,可能是影响生产,因此我们就需要对mysql主从同步或复制延迟状态进行监控。下面潘老师演示下使用shell脚本简单地实现状态监控。
1、同步状态参数查看
首先我们要只要主从复制的参数在哪查看,其实在MySQL8主从复制(一主一从)配置搭建详解的时候就已经使用该指令,登录mysql后,使用如下指令:
show slave status G
可以看到很多参数,其中有一个参数名为Seconds_Behind_Master,取值一般为NULL或者0和大于0的值,这个参数就是主从同步延迟参数,单位是秒。
但是监控主从同步状态一般会看如下3个参数:
- Slave_IO_Running: I/O线程是否被启动并成功地连接到主服务器上。
- Slave_SQL_Running: SQL线程是否被启动。
- Seconds_Behind_Master:和主库比同步延迟的秒数
比较期待的结果就是Slave_IO_Running=Yes,Slave_SQL_Running=Yes,Seconds_Behind_Master=0
2、使用脚本监控同步状态
#!/bin/bash
mysql_cmd="mysql -u root -p密码"
errornum=(1158 1159 1008 1007 1062)
while true
do
array=($($mysql_cmd -e "show slave statusG"|egrep ‘_Running|Behind_Master|Last_SQL_Errno‘|awk ‘{print $NF}‘))
if [ "${array[0]}" == "Yes" -a "${array[1]}" == "Yes" -a "${array[2]}" == "0" ]
then
echo "MySQL is slave is running"
else
for ((i=0;i<${#errornum[*]};i++))
do
if [ "${array[3]}" = "${errornum[$i]}" ];then
$mysql_cmd -e "stop slave &&set global sql_slave_skip_counter=1;start slave;"
fi
done
char="MySQL slave is downed"
echo "$char"
echo "$char"|mail -s "$char" xxxxx@qq.com
break
fi
sleep 30
done
该脚本没30秒会监控一次同步状态参数,当以上3个参数出现异常时就会发一封邮件到你的邮箱。
当然,这些使用脚本的方案都是比较容易掌握且好理解的,但是功能还是有限,想要更好地监控主从同步复制状态还是要使用第三方的工具,比如Percona Toolkit这一类的,功能更加强大。
随机文章
SEO小小课堂网站长导航
搜素引擎算法
GEO培训
SEO教程
站长导航
友情链接交换
搜素引擎算法
百度搜索“网赚联盟”即可找到本站,微信搜索“小小课堂网”关注小小课堂网公众号。网赚联盟( wangzhuan.org.cn )欢迎用户投稿,发布者:用户投稿,文章版权归作者所有,投稿文章不代表网赚联盟立场,中二少年发布为网赚联盟原创文章,转载请注明出处:https://wangzhuan.org.cn/220008.html

微信扫一扫
支付宝扫一扫