mysql監控:zabbix上自定義key

花花蘑菇發表於2016-12-16

如何在zabbix中自定義key,並使用它。

Zabbix是一個開源的,免費的監控工具。它有很多自帶的預設的監控選項。但是有時候,自帶的監控選項是不夠用的。這個時候,就需要自己自定義監控選項。我自己寫了幾個監控選項,分別用來監控mysql的狀態,mysql主從複製的狀態,mysql主從複製的時間差。

1、 開啟zabbix agent的配置檔案,在檔案的末尾新增以下語句,如圖下:

UnsafeUserParameters=1  

//這個值預設是為0,改為1表示啟用自定義key

UserParameter=mysql.ping,netstat -an|find /i /c "3308"

//自定義keymysql.ping,這個key的值從命令netstat -an|find /i /c "3308"獲取

UserParameter=mysql.slavetime,C:\Zabbix\userdfscrpts\slaveTime.bat

//自定義keymysql. slavetime,指令碼C:\Zabbix\userdfscrpts\slaveTime.bat輸出的值就傳遞到mysql. slavetime中去。

UserParameter=mysql.slavestatus,C:\Zabbix\userdfscrpts\slaveStatus.bat

//自定義keymysql.slavestatus,指令碼C:\Zabbix\userdfscrpts\slaveStatus.bat輸出的值就傳遞到mysql. slavestatus中去。

2、 指令碼中的內容如下:

(1) C:\Zabbix\userdfscrpts\ slaveStatus.bat

@echo off

cd /d D:\XXX\mysql-5.6.19-winx64\bin

mysql -uroot -p"XXX" -e "SHOW SLAVE STATUS\G" > C:\Zabbix\middlefiles\status2.txt 2>C:\Zabbix\middlefiles\waring2.txt

rem pause

cd /d C:\Zabbix\middlefiles

type status2.txt|findstr "\"|find /i /c "Yes" > status.txt

for /f %%i in (status.txt) do set status=%%i

echo %status%

rem pause

(2) C:\Zabbix\userdfscrpts\slaveTime.bat

@echo off

rem set MYSQL_PWD=XXXX

cd /d D:\XXXX\mysql-5.6.19-winx64\bin

mysql -uroot -p"XXXX" -e "SHOW SLAVE STATUS\G" > C:\Zabbix\middlefiles\status1.txt 2>C:\Zabbix\middlefiles\waring.txt

type C:\Zabbix\middlefiles\status1.txt|find "Seconds_Behind_Master" > C:\Zabbix\middlefiles\losttime.txt

for /f "delims=: tokens=2" %%i in (C:\Zabbix\middlefiles\losttime.txt) do set time=%%i

echo %time%

rem pause

3、 zabbix服務端所在的機器上,來對key值進行測試。

[jobadmin@i611-zabbixnw-1 ~]$ zabbix_get -s 172.30.30.4 -p 10050 -k "mysql.slavestatus"

這裡-s選項後面接著的是要測試的key值所在的主機IP地址,-p後面接著的是埠,-k後面跟著要測試的key值名。如果返回結果正常,就表示這個key已經配好了,可以使用了。

4、 將前面自定義的key新增到zabbix agent所在hostitem中去,步驟如下:

(1)登入zabbix的監控頁面,在configuration下選擇hosts,然後可以根據Group或者Filter來篩選出剛才修改的zabbix agent所在的主機。

(2)點選主機名,然後點選items選項,在出來的頁面上選擇Create item


(3)在出來的建立新的item頁面上,填入必要的資訊。資訊填寫完畢之後,點選Add新增。

Name欄位表示item的名字,自己定義。

Key欄位就是剛才我們在zabbix agent的配置檔案中所建立的自定義key,這裡我填mysql.ping.

Type of information欄位:表示key值返回的型別是什麼,是字元還是無符號數字型別還是小數型別還是文字格式

Data type欄位:是對Type of information欄位的補充

Units欄位:表示單位,例如key返回的結果是百分比,這裡填入%

Applications欄位:表示將你新建的item歸結為哪一類中。這個Application也是要自己建的,表示一個類。比如硬體、軟體、CPU等等。


(4)點選主機名,然後點選Triggers選項,在出來的頁面上選擇Create trigger


(5) 在出來的建立新的Trigger頁面上,填入必要的資訊。資訊填寫完畢之後,點選Add新增。

Name欄位:表示Trigger的名字,自己定義。

Expression欄位:是Trigger的主體,表示你希望在什麼條件下觸發Trigger

Description欄位:是對Trigger的補充解釋。比如Trigger的表示式中0表示成功,1表示失敗等。

Severity欄位:表示Trigger的等級,從低到高。


Expression欄位邊上點選Add,會彈出條件填寫的介面,如下:


Item欄位:表示這個Trigger是根據哪一個item來建立的。選擇select,會出現所有可以選擇的item。我們可以選擇剛才建立的Item

Function欄位:這個下拉選單中有各種條件,根據自己的需要選擇一種。

N:這個N就是Function欄位中條件表示式裡面的那個N值。

4、檢視Trigger是否生效:

回到Trigger頁面下,可以看到主機上所有的Trigger。如果Trigger的狀態為Enabled,就表示這個Trigger是正常的,可用的。否則就是有問題。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28497416/viewspace-2130772/,如需轉載,請註明出處,否則將追究法律責任。

相關文章