mysql实现自动监控同步的脚本

mysql越来越被更多企业接受,随着企业发展,mysql存储数据日益膨胀,mysql的性能分析、监控预警、容量扩展议题越来越多。“工欲善其 事,必先利其器”,那么我们如何在进行mysql性能分析、监控预警、容量扩展问题上得到更好的解决方案,就要利用各种工具来对mysql各种指标进行分析。本篇内容我们就讲解自动监控从mysql同步的脚本。

脚本设计思路:

1、此脚本应该能适应各种各样不同的内外网环境,即IP不同的环境;

2、让脚本也顺便监控下MySQL是否正常运行;

3、Slave机器的IO和SQL状态都必须为YES,缺一不可,这里用到了多重条件判断-a。

#!/bin/bash  #check MySQL_Slave Status  #crontab time 00:10  Mail-list=  MysqlUser=  MysqlPass=  MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'`  MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`  STATUS=$(/usr/local/mysql/bin/mysql -u $MysqlUser -$MysqlPass -e "show slave statusG" | grep -i "running")  IO_env=`echo $STATUS | grep IO | awk ' {print $2}'`  SQL_env=`echo $STATUS | grep SQL | awk '{print $2}'`  if [ "$MYSQLPORT" == "3306" ]  then  echo "mysql is running"  else  /bin/mail -s "warning!server: $MYSQLIP mysql is down" $Mail-list  fi  if [ "$IO_env" = "Yes" -a "$SQL_env" = "Yes" ]  then  echo "Slave is running!"  else  echo "####### $date #########" &gt;&gt; /tmp/check_mysql_slave.log  echo "Slave is not running!" &gt;&gt; /tmp/check_mysql_slave.log  echo "Slave is not running!"  #mail -s "warn! $MySQLIP_replicate_error" $Mail-list <p>使用方式:</p><p>用crontab设置定期运行,建议每十分钟运行一次</p><p>*/10 * * * * /root/mysql-slave-status.sh</p><p>记得在每台MySQL从机上分配一个jiankong的用户,权限大些也没关系,只限定在本地运行,如下所示:</p><p>grant all privileges on *.* to "jiankong"@"127.0.0.1" identified by "jiankong1*0*1";</p><p>grant all privileges on *.* to "jiankong"@"localhost" identified by "jiankong1*0*1";</p><p>以上内容就是自动监控从MySQL同步的脚本,希望大家能有所领会。</p><p>相关推荐:</p><p><a href="http://www.php.cn/python-tutorials-353613.html" target="_self">Python自动监控网站并发送邮件告警</a></p><p><a href="http://www.php.cn/python-tutorials-353613.html" target="_self">Python自动监控网站并发送邮件告警</a></p><p><a href="http://www.php.cn/python-tutorials-353613.html" target="_self">Python自动监控网站并发送邮件告警</a></p><p></p>

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享