1. 程式人生 > >zabbix建立自定義鍵值和觸發器

zabbix建立自定義鍵值和觸發器

說明:zabbix可以自定義建立模板,模板中包括了下面幾項內容:

###

應用集就是你想分幾塊進行監控(比如記憶體 CPU IO  網路等等)專案 專案是針對一個應用集來弄的(如果我要採集應用集 記憶體 的使用情況 你可以定義多個專案 比如總共記憶體 可用內 空閒記憶體等等)觸發器 觸發器是針對一個專案來弄的(如果你採集可用記憶體的專案中 新增一個觸發器當可以記憶體低於多少時 進行相應操作)圖形 建立圖形的資料來源都是 根據專案採集的資料來的 可以把一個或者多個專案 生成圖形刷選 就是把生成的圖片 這麼放 排列等等

###

自定義鍵值,自定義指令碼

zabbix自帶的預設模版裡包括了很多監控項,有時候為了滿足業務需求,需要根據自己的監控專案自定義監控項,這裡介紹一種自定義監控項的方式。

1,首先編寫自定義監控指令碼,本文以監控httpd程序是否存在為例。

  指令碼名字:check_httpd.sh

  指令碼目錄(這個目錄可以自定義):/usr/local/etc/zabbix_scripts

  指令碼內容:

複製程式碼
#!/bin/bash
result=`ps -ef | grep zls | 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,至此,自定義監控項和自定義告警已新增完成,如果有其他監控需求,自己寫監控指令碼即可。