zabbix自定義監控項、添加圖形、設置觸發器、遠程執行命令


監控項是在zabbix中手機數據的基礎,沒有監控項就沒有數據,系統自帶模板帶有大量默認item,自定義item可以定義在模板中,在應用模板即可使用對應item;也可直接在host中定義

目標:自定義監控項檢查/tmp/aa文件是否存在,並設置觸發器,實現郵件報警

其實zabbix自帶監控項vfs.file.exists可以檢查文件是否存在,本文主要為了說明怎么自定義監控項,所以不使用自帶的。

vfs.file.exists[file] 檢查文件是否存在。返回 0 - 未找到文件;1 - 常規文件或鏈接(軟/硬)存在

1. 開啟自定義用戶參數

# vim /usr/local/zabbix/conf/zabbix_agentd.conf

UnsafeUserParameters=1

2. 在配置文件中添加UserParameter 

#UserParameter的格式:UserParameter=<key>,<shell command>

UserParameter=file.exist[*],ls /tmp/$1 >/dev/null 2>&1;echo $? #0表示存在,>0表不存在

#帶參數UserParameter的格式:<key[*]>,<shell command>,其中*的意思是方括號中可以有任意多的參數,每個參數由逗號隔開,分別是$1、$2、$3、... ...

3. 重啟zabbix_agentd,在server端驗證UserParameter是否生效

 重啟:略

#server端驗證

[root@zabbix ~]# zabbix_get -s 192.168.119.137 -k "file.exist[aa]"
0
[root@zabbix ~]# zabbix_get -s 192.168.119.137 -k "file.exist[bb]"
2

#以上結果說明在agent端存在/tmp/aa文件,不存在/tmp/bb文件

4. 在主機上創建應用集

5. 創建item

6.添加圖形

 

7. 添加觸發器

項目只收集數據。為了自動評估傳入數據,我們需要定義觸發器。觸發器包含一個表達式,該表達式定義數據的可接受級別的閾值。

如果這個水平超過了傳入的數據,觸發器將“觸發”或進入“問題”狀態 - 讓我們知道發生了某些事情可能需要注意。如果等級再次可接受,則觸發器返回到“OK”狀態。

 

 觸發器表達式格式:

{<server>:<key>.<function>(<parameter>)}<operator><constant>

 運算符如下表:

 

 

PRIORITY OPERATOR DEFINITION Notes for unknown values
1 - Unary minus -Unknown → Unknown
2 not Logical NOT not Unknown → Unknown
3 * Multiplication * Unknown → Unknown
(yes, Unknown, not 0 - to not lose
Unknown in arithmetic operations)
1.2 * Unknown → Unknown
  / Division Unknown / 0 → error
Unknown / 1.2 → Unknown
0.0 / Unknown → Unknown
4 + Arithmetical plus 1.2 + Unknown → Unknown
  - Arithmetical minus 1.2 - Unknown → Unknown
5 < Less than. The operator is defined as:
A<B ⇔ (A<B-0.000001)
1.2 < Unknown → Unknown
  <= Less than or equal to. Unknown <= Unknown → Unknown
  > More than. The operator is defined as:
A>B ⇔ (A>B+0.000001)
 
  >= More than or equal to.  
6 = Is equal. The operator is defined as:
A=B ⇔ (A>=B-0.000001) and (A<=B+0.000001)
 
  <> Not equal. The operator is defined as:
A<>B ⇔ (A<B-0.000001) or (A>B+0.000001)
 
7 and Logical AND and Unknown → 0
and Unknown → Unknown
Unknown and Unknown → Unknown
8 or Logical OR or Unknown → 1
or Unknown → Unknown
Unknown or Unknown → Unknown

 

 8. 遠程執行命令

當檢測到/tmp/aa不存在時遠程創建該文件

agent端修改配置文件

EnableRemoteCommands = 1

 另外,在執行命令時確保你的zabbix用戶有執行權限,如果某些命令需要root權限,那么請使用sudo。編輯sudoer文件,zabbix用戶便可以執行對應命令了。

在/tmp下創建文件不需要root權限,該步驟可忽略

 

#以重啟nginx服務為例
zabbix ALL=NOPASSWD: ALL
zabbix ALL=NOPASSWD: /etc/init.d/nginx stop,/etc/init.d/nginx start

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM