說明:
zabbix自帶的默認模版裏包括了很多監控項,有時候爲了滿足業務需求,需要根據自己的監控項目自定義監控項,這裏介紹一種自定義監控項的方式。
1,首先編寫自定義監控腳本,本文以監控httpd進程是否存在爲例。
腳本名字:check_httpd.sh
腳本目錄(這個目錄可以自定義):/usr/local/etc/zabbix_scripts
腳本內容:
#!/bin/bash result=`ps -ef | grep httpd | grep -v grep` if [ -n "$result" ] then echo '0' else echo '1' fi
腳本說明:通過ps檢查httpd進程是否存在,如果存在則腳本反饋1,如果不存在則返回0
2,修改zabbix_agentd.conf配置文件。
說明:紅色部分爲需要我們修改的
第一個:默認爲0,此處我們將它改爲1,改爲1以後,表示用戶自定義的腳本中可以包含特殊字符。
第二個:爲我們自定義監控項,格式爲:UserParameter=<鍵值>,<命令>。這裏我們自定義鍵值爲:check_httpd,要執行的命令爲執行check_httpd.sh這個腳本。
說明:添加完成以後,重啓zabbix_agentd纔會生效。
### Option: UnsafeUserParameters # Allow all characters to be passed in arguments to user-defined parameters. # The following characters are not allowed: # \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @ # Additionally, newline characters are not allowed. # 0 - do not allow # 1 - allow # # Mandatory: no # Range: 0-1 # Default: UnsafeUserParameters=1 ### Option: UserParameter # User-defined parameter to monitor. There can be several user-defined parameters. # Format: UserParameter=<key>,<shell command> # See 'zabbix_agentd' directory for examples. # # Mandatory: no # Default: UserParameter=check_httpd,sh /usr/local/etc/zabbix_scripts/check_httpd.sh
3,選擇要增加監控項的主機
4,創建監控項
5,根據自定義鍵值填寫監控項,自定義的鍵值只能手動輸入,不能通過選擇。
6,添加成功後,在最新數據中查看是否獲取到數據
7,爲這個監控項添加觸發器,在這裏我們定義當check_httpd監控項返回爲0的時候告警。即httpd進程不存在
8,創建觸發器,自定義觸發器名稱以及嚴重程度,然後表達式哪裏,點擊添加
9,添加觸發器表達式,監控項選擇我們自定義監控項,功能可以根據自己的需求選擇,這裏我們選擇最後一個值是0的時候則告警(即httpd進程不存在)
10,至此,自定義監控項和自定義告警已添加完成,如果有其他監控需求,自己寫監控腳本即可。