天天看點

zabbix監控之自定義監控項目

zabbix搭建好後,除了調用預設的模闆,還要監控其它常用的程序,有redis,rsync,nginx,gunicorn,mysql等等都要進行監控。

自定義監控的配置過程如下:

1、編寫程序監控腳本,擷取監控項的具體值

2、在zabbix_agentd.conf檔案中定義UserParameter

3、在界面配置item,通過鍵值來控制傳參

4、檢視監控資料情況

5、配置觸發器,用來報警

6、宕服務測試

對于zabbix的安裝與郵件報警設定,可參考兩篇文章。

程序監控腳本構思:

根據名稱或端口号來判定該程式是否存在。

如果傳參包含端口号,則根據端口号判斷程序,有傳回1,沒有傳回0。

如果不包含端口号,根據程序名判斷程序,有傳回1,沒有傳回0。

注:所編寫的腳本隻需要輸出具體值即可,無須像nagios那樣傳回退出值,描述資訊等。

在zabbix agent端修改zabbix_agentd.conf檔案:

使用者參數=鍵值[*],指令

echo 'UserParameter =check_process[*],/usr/bin/python /python/process_port.py $1 $2 ' >>/usr/local/zabbix/etc/zabbix_agentd.conf  #添加使用者參數

/etc/init.d/zabbix_agentdrestart    #重新開機zabbixagent服務

agent端本機測試:

在中括号中内容為傳參内容,如果要傳參多個,用逗号隔開,第一個則是$1,第二個則是$2。

[root@yang python]#/usr/local/zabbix/sbin/zabbix_agentd -t check_process[hello]

check_process[hello]                          [t|0]

#傳回結果為0,代表hello程序不存在。

[root@yang python]#/usr/local/zabbix/sbin/zabbix_agentd -t check_process[mysql]

check_process[mysql]                          [t|1]

#傳回結果為1,代表mysql程序存在。

[root@yang python]#/usr/local/zabbix/sbin/zabbix_agentd -t check_process[mysql,3306]

check_process[mysql,3306]                     [t|1]

測試可用,接下來在主界面配置監控

【組态】à【主機】à【項目】à【建立監控項】

此處鍵值的用法和zabbix_agentd.conf中定義的UserParameter一緻。

zabbix監控之自定義監控項目

【監控中】à【最新資料】 最新資料為1,監控正常。

zabbix監控之自定義監控項目

【組态】à【主機】à【觸發器】à【建立觸發器】

zabbix監控之自定義監控項目

在agent client端,宕掉mysql。郵箱1分鐘後收到報警。

zabbix監控之自定義監控項目

成功收到報警郵件,自定義監控及報警配置完成。