shell脚本监控进程(mysql主从同步复制延迟状态监控脚本)

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这一类的,功能更加强大。


版权声明:本站所有文章,如无特殊说明,均为本站原创。转载请务必注明文章来源,谢谢支持。
本文链接:https://www.panziye.com/java/4550.html
本文《shell脚本监控进程(mysql主从同步复制延迟状态监控脚本)》由网赚联盟( wangzhuan.org.cn )整理或原创,感谢您的阅读。

随机文章

SEO小小课堂网
站长导航
搜素引擎算法
GEO培训
SEO教程
站长导航
友情链接交换
搜素引擎算法

百度搜索“网赚联盟”即可找到本站,微信搜索“小小课堂网”关注小小课堂网公众号。网赚联盟( wangzhuan.org.cn )欢迎用户投稿,发布者:用户投稿,文章版权归作者所有,投稿文章不代表网赚联盟立场,中二少年发布为网赚联盟原创文章,转载请注明出处:https://wangzhuan.org.cn/220008.html