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

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

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

其實zabbix自帶監控項vfs.file.exists能夠檢查文件是否存在,本文主要爲了說明怎麼自定義監控項,因此不使用自帶的。express

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

1. 開啓自定義用戶參數vim

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

UnsafeUserParameters=1

2. 在配置文件中添加UserParameter bash

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

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

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

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

 重啓:略server

#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]"
2blog

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

4. 在主機上建立應用集get

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

 

相關文章
相關標籤/搜索