公司mysql架構爲一主多從。在平常使用過程當中咱們常常會遇到主從不一樣步的狀況,爲了及時處理此問題現使用zabbix監控mysql主從狀態並設置觸發器,若有異常則發送郵件報警。mysql
咱們都知道使用命令「show slave status \G」能夠查看mysql從的狀態,下面用腳本方式檢查其狀態。web
在mysql-slave中進入zabbix-agent目錄建立腳本文件。sql
cat mysql_slave_status.sh #!/bin/bash /usr/local/mysql/bin/mysql -uzabbix -e 'show slave status\G' |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes chmod +x mysql_slave_status.sh
執行 mysql_slave_status.sh 結果爲:2
bash
若是結果不爲2則表示主從同步異常,則報警!!服務器
注意:將腳本放置到某目錄(須要有權限),我這裏放到/etc/zabbix/mysql_slave_status.sh 在zabbix_agentd.conf中最下方加入如下一條語句:架構
UserParameter=mysql.slavestatus,/etc/zabbix/mysql_slave_status.sh #添加完成後必須重啓zabbix-agentd服務 /etc/init.d/zabbix_agentd restart
以後在Zabbix-Server所在服務器執行如下語句,測試是否成功:ide
zabbix_get -s 192.168.1.101 -k mysql.slavestatus
其中192.168.1.101爲腳本所在服務器,mysql.slavestatus爲Key值。若返回2,則表示主從服務正常。而後將該監控項在web平臺測加入items,設置好報警通知便可。測試
訪問zabbix---找到「組態」--》「主機」--》"項目"--建立項目3d
這裏輸入監控項名稱--數據更新時間
rest
接下來建立觸發器。
觸發器內容這裏注意選擇數值小於 2 的時候觸發報警,嚴重性設置爲「災難」
至此,zabbix監控mysql主從狀態完成。