說明:shell
zabbix自帶的默認模版裏包括了不少監控項,有時候爲了知足業務需求,須要根據本身的監控項目自定義監控項,這裏介紹一種自定義監控項的方式。bash
1,首先編寫自定義監控腳本,本文以監控httpd進程是否存在爲例。ide
腳本名字:check_httpd.shspa
腳本目錄(這個目錄能夠自定義):/usr/local/etc/zabbix_scripts3d
腳本內容:code
#!/bin/bash result=`ps -ef | grep httpd | grep -v grep`if [ -n "$result" ]then echo '0'else echo '1'fi
腳本說明:經過ps檢查httpd進程是否存在,若是存在則腳本反饋1,若是不存在則返回0orm
2,修改zabbix_agentd.conf配置文件。blog
說明:紅色部分爲須要咱們修改的進程
第一個:默認爲0,此處咱們將它改成1,改成1之後,表示用戶自定義的腳本中能夠包含特殊字符。ip
第二個:爲咱們自定義監控項,格式爲: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,至此,自定義監控項和自定義告警已添加完成,若是有其餘監控需求,本身寫監控腳本便可。