mysql完成自動監控同步的腳本
發表時間:2023-07-18 來源:明輝站整理相關軟件相關文章人氣:
[摘要]MySQL越來越被更多企業接受,隨著企業發展,MySQL存儲數據日益膨脹,MySQL的性能分析、監控預警、容量擴展議題越來越多。“工欲善其 事,必先利其器”,那么我們如何在進行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 status\G" 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 #########" >> /tmp/check_mysql_slave.log
echo "Slave is not running!" >> /tmp/check_mysql_slave.log
echo "Slave is not running!"
#mail -s "warn! $MySQLIP_replicate_error" $Mail-list << /tmp/check_mysql_slave.log
echo "`cat /tmp/check_mysql_slave.log`" mail -s "Warning...slave is not running!!" $Mail-list
fi
使用方式:
用crontab設置定期運行,建議每十分鐘運行一次
*/10 * * * * /root/mysql-slave-status.sh
記得在每臺MySQL從機上分配一個jiankong的用戶,權限大些也沒關系,只限定在本地運行,如下所示:
grant all privileges on *.* to "jiankong"@"127.0.0.1" identified by "jiankong1*0*1";
grant all privileges on *.* to "jiankong"@"localhost" identified by "jiankong1*0*1";
以上內容就是自動監控從MySQL同步的腳本,希望大家能有所領會。
相關推薦:
Python自動監控網站并發送郵件告警
Linux服務器監控的實例詳解
監控MySQL的同時收集表信息代碼詳解(圖文)
以上就是mysql實現自動監控同步的腳本的詳細內容,更多請關注php中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。