zabbix監控mysql主從

環境:mysql

192.168.127.131 主數據庫及zabbix serverweb

192.168.127.130 從數據庫及zabbix  clientsql

a.首先給mysql分配一個監控的帳號

數據庫

mysql> vim

grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';bash


b.編寫一個腳本

服務器

vim /sh/mysql-replication.sh
#!/bin/bash
/usr/local/mysql/bin/mysql -uzabbix -pzabbix -e 'show slave status\G' |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes



#先用zabbix這個用戶來獲取slave的全部狀態,而後grep出這兩個狀態,而後再輸出第二列,最後查看有幾個Yes狀態的 ,正常狀況下有兩個Yes狀態。
    其實你們會發現,這隻有一條命令,但我卻把它寫到了一個腳本里面,這裏我說一下,由於若是你把命令寫到配置文件裏面,每次修改完,你都得重啓agent,因此寫到腳本里面更方便調試修改,這應該是一個好習慣。

c.在agent裏面添加監控項
文件的最後添加以下一行
vim /etc/zabbix_agentd.conf 

UserParameter=mysql.replication,/home/zabbix/mysql-replication.sh ##腳本所在的目錄
#等號後面的字符串中,逗號前面是Key,後面是執行的腳本(腳本不要忘了執行權限) ,添加好以後,就重啓agent程序
ide

d.server端測試是否正常測試

zabbix_get -s 192.168.127.130 -p10050 -k "mysql.replication"spa

2

返回2即爲正常

而後在web頁面,添加監控項


wKioL1c-iFvCrl1gAACxTwplByc661.png

wKiom1c-h3DiREoQAACGuvHeY58971.png


觸發器設置


wKiom1c-h3DzromoAABlx3NPNeA826.png




選擇剛纔第一步裏建立的監控項mysql-repelication

wKiom1c-h3DzrNfOAACL-fNcp_k639.png


最後測試,停掉從服務器的mysql服務,查看是否觸發報警器


wKioL1c-iF3yuMO7AAC1DnnHoMc884.png



最後還能夠在 latest data 裏面查看圖像數據

wKioL1c-iv-gjTL6AAGY0qgWrIU985.png


注意:若是執行zabbix_get -s 192.168.127.130 -p10050 -k "mysql.replication" 或者mysql-replication.sh  

返回 

Warning: Using a password on the command line interface can be insecure.
2

看似沒有錯誤,不過是不會出圖的,解決辦法是編輯my.cnf這個文件在裏面添加

[client]
host=127.0.0.1
user=zabbix
password='zabbix'


而後重啓mysql服務,把mysql-replication.sh裏面的用戶名和密碼去掉便可

/usr/bin/mysql   -e 'show slave status\G' |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes
相關文章
相關標籤/搜索