MySQL主從同步監控

#此腳本爲監控MySQL主從IO和SQL的兩個YES,NO代表爲不同步

#Zabbix一分鐘採集一次數據

#觸爲器爲大於1則報警

#!/bin/bash

mysql="/usr/bin/mysql"

user="root"

password="123456"

IO=`$mysql -u$user -p$password -e "show slave status\G" | grep 'Slave_IO_Running:' | awk '{print $2}'`

SQL=`$mysql -u$user -p$password -e "show slave status\G" | grep 'Slave_SQL_Running:' | awk '{print $2}'`

#[ "$IO" == "Yes" -a "$SQL" == "Yes" ] && echo "1" || echo "2"

[ "$IO" == "Yes" -o "$IO" == "Connecting" ] && [ "$SQL" == "Yes" -o "$SQL" == "Connecting" ] && echo "1" || echo "2"


#此腳本爲監控MySQL主從同步的中繼日誌點,不變化代表不同步,

#Zabbix三分鐘採集一次數據

#觸爲器爲日誌點數字不變化則報警

#!/bin/bash

mysql="/usr/bin/mysql"

user="root"

password="123456"

Relay=`$mysql -u$user -p$password -e "show slave status\G" | grep 'Relay_Log_Pos:' | awk '{print $2}'`

echo $Relay


#此腳本爲監控MySQL主從同步延遲時間

#Zabbix一分鐘採集一次數據

#觸爲器爲超過3600秒延遲時間則報警

#!/bin/bash

mysql="/usr/bin/mysql"

user="root"

password="123456"

Seconds=`$mysql -u$user -p$password -e "show slave status\G" | grep 'Seconds_Behind_Master:' | awk '{print $2}'`

echo $Seconds


上述三個監控腳本寫後,在Slave的機器上相應位置放置三個腳本,

再去Zabbix Web界面添加監控,設置好Item和Key即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章