#此腳本爲監控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即可