zabbix自定義key出現ZBX_NOTSUPPORTED: Unsupported item key.html
分類: LINUXmysql
2016-04-26 16:03:02linux
之前沒怎麼弄過zabbix,這幾天折騰下,我要監控mysql主從,基本按照
http://www.linuxidc.com/Linux/2012-10/72552.htm
這個來弄得,可是客戶端弄好了,重啓服務以後,服務器獲取不到key,提示就是ZBX_NOTSUPPORTED: Unsupported item key.
各類查,關閉selinux,防火牆放行端口,telnet客戶端10050是通的,改agentd。conf的配置,
AllowRoot=1
EnableRemoteCommands=1
UnsafeUserParameters=1
以後重啓服務,仍是不行。
有點懵。。。。
而後發現客戶端起的沒有監聽10050端口的進程,直接 pkill -f zabbix
在啓服務,此次能夠了。。。
連接地址的文章在下面sql
最近在公司搭建了zabbix監控系統,如今須要用zabbix來監控mysql的主從同步狀況bash
如今說一下配置的詳細步驟:服務器
1.首先給mysql分配一個監控的帳號:測試
mysql> grant replication client on *.* to 'zabbix'@'localhost';ui
2.編寫一個腳本.net
咱們先執行一個命令unix
mysql -u zabbix -e 'show slave status\G'
咱們在輸出的信息中選擇
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
這兩項來監控
我測試了一下,當操做的數據出現異常的時候,Slave_SQL_Running就會變成No
當執行slave stop的時候,兩個都會變成No
腳本內容以下
#!/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
我只寫了一條命令,大概解釋一下
先用zabbix這個用戶來獲取slave的全部狀態,而後grep出這兩個狀態,而後再輸出第二列,最後查看有幾個Yes狀態的
正常狀況下有兩個Yes狀態,
其實你們會發現,這隻有一條命令,但我卻把它寫到了一個腳本里面,這裏我說一下,由於若是你把命令寫到配置文件裏面,每次修改完,你都得重啓agent,因此寫到腳本里面更方便調試修改,這應該是一個好習慣。
3.在agent裏面添加監控項
文件的最後添加以下一行
UserParameter=mysql.replication,/home/zabbix/mysql-replication.sh
等號後面的字符串中,逗號前面是Key,後面是執行的腳本(腳本不要忘了執行權限)
添加好以後,就重啓agent程序
4.server端添加監控項
進入 zabbix的安裝目錄,個人是/usr/local/zabbix/bin
執行 ./zabbix_get -s 192.168.177.185 -k "mysql.replication"
這裏的192.168.177.185是個人agent的IP
若是主從複製正常,就會返回2 (表明兩個狀態都是Yes)
如今就說明server已經能夠從agent獲取狀態了。
如今在管理界面中先添加監控項:
系統配置 -》主機 -》選擇要監控的主機的監控項
在右上角選擇create item
注意,這裏的Key,就填在agent配置文件裏的key,數據類型也要選擇數值類型
數據更新間隔能夠根據本身的須要進行設置,建立完,就保存
再建立觸發器
進入觸發器,點擊 create trigger
這裏的名稱能夠隨便填,示警度我選的是災難
而後就是表達式了,點擊超連接以後,選擇後面的「編輯」按鈕
在彈出的鏈接中,item後面點擊搜索,選擇剛纔建立的監控項
function裏面就是一些規則,咱們選擇Last Value
咱們給N設置成2,也就是小於2個Yes就報警,其餘的都無論了。
設置好以後,別忘記點擊「添加」按鈕。
最後點擊保存。
這裏就配置好了,這時候,
咱們這時候停掉 mysql的複製進程,稍等一下,而後打開zabbix的監控界面,選擇「狀態統計」-》dashboard
就能看到有報警了。
咱們也能夠再設定一下短信報警,這裏就不詳細贅述了。