zabbix--建立觸發器

觸發器

 概述

觸發器是「評估」由監控項採集的數據並表示當前系統情況的邏輯表達式。express

當監控項用於採集系統的數據時,始終遵循這些數據是很是不切合實際的,由於這些數據始終在等待一個使人擔心或者值得關注的狀態。然而這個「評估」數據的工做能夠留給觸發器表達式。app

觸發器表達式容許定義一個什麼情況的數據是「可接受」的閾值。所以,若是接收的數據超過了可接受的狀態,則觸發器會被觸發 - 或將狀態更改成異常。dom

一個觸發器能夠擁有下面幾種狀態:tcp

描述
OK 這是一個正常的觸發器狀態。在舊版本的Zabbix中稱爲FALSE。
PROBLEM 一般意味着發生了某些事情。例如,處理器的負載較高。在舊版本的Zabbix中稱爲TRUE。

每當Zabbix server接收到做爲表達式一部分的新值時,都會從新計算觸發器狀態(表達式)。函數

若是在表達式中使用基於時間的函數(nodata(), date(), dayofmonth(), dayofweek(), time(), now()),觸發器就會由Zabbix history syncer進程每30秒從新計算一次。若是在表達式中同時使用基於時間和非基於時間的函數,當接收到一個新值和每隔30秒都會從新計算觸發器的狀態。測試

你能夠構建觸不一樣複雜程度的觸發器表達式spa

詳情能夠閱讀zabbix官方文檔:https://www.zabbix.com/documentation/4.0/zh/manual/config/triggers/triggercode

下面咱們來配置一個觸發器,用來檢測http服務是否有啓動server

一、先在agent安裝並啓用http服務blog

[root@localhost ~]# service httpd status
httpd is stopped
[root@localhost ~]# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]
[root@localhost ~]#
[root@localhost ~]# netstat -ntlp|grep http
tcp        0      0 :::80                       :::*                        LISTEN      30275/httpd         
[root@localhost ~]#

 

二、建立item

 

 使用zabbix-get測試下

#返回1表服務運行中,0表服務掛了
[root@localhost ~]# zabbix_get  -s 192.168.190.131 -k net.tcp.service[http,192.168.190.131,80]
1
[root@localhost ~]# zabbix_get  -s 192.168.190.131 -k net.tcp.service[http,192.168.190.131,80]
0

建立觸發器:

在官網能夠查看全部觸發器支持的函數:https://www.zabbix.com/documentation/4.0/zh/manual/appendix/triggers/functions

 

 
參數:
參數 描述
名稱 觸發器名稱.
名稱中能夠包含支持的 : {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.LASTVALUE}{$MACRO}
$1, $2…$9 宏能夠用來指第一,第二…第九表達式的常量。
備註: 若是引用了相對簡單的常量或明確的表達式,$1-$9宏將會正確解析。例如, 若是表達式是{New host:system.cpu.load[percpu,avg1].last()}>5,則「Processor load above $1 on {HOST.NAME}「將會自動更改爲 「Processor load above 5 on New host」
嚴重性 經過點擊對應的按鈕來設置所需的觸發器嚴重性
異常表達式 用於定義異常條件的邏輯表達式
事件成功迭代 事件成功迭代選項:
表達式 - OK事件基於與問題事件相同的表達式生成;
恢復表達式 - 若是問題表達式計算爲false,恢復表達式計算爲true,則生成OK事件;
None - 在這種狀況下,觸發器將永遠不會返回到OK狀態。
從Zabbix 3.2.0開始支持
恢復表達式 邏輯表達式用於定義問題解決的條件。
只有在表達式表達式計算爲FALSE以後纔對恢復表達式進行評估。若是問題條件仍然存在,則不可能經過恢復表達式來解決問題。
此字段是可選的,僅在OK 事件生成選擇恢復表達式。
從Zabbix 3.2.0開始支持
異常事件生成模式 生成異常事件的模式:
單個 - 當觸發器第一次進入‘異常‘狀態時,生成一條單個事件。;
多重 - 每個觸發器「異常」評估都將生產一條事件。
事件成功關閉 若是選擇事件成功關閉:
全部問題 - 此觸發器的全部問題
全部問題若是標籤值匹配 - 只有那些匹配事件標籤值引起的問題。
從Zabbix 3.2.0開始支持。
匹配標記 輸入事件標記名稱以用於事件關聯。
若是在事件成功關閉中選擇了‘全部問題若是標籤值匹配’,在這種狀況下是強制性的。
從Zabbix 3.2.0開始支持。
標記  

 

在agent stop http
[root@localhost ~]# service httpd stop 
Stopping httpd:                                            [  OK  ]
[root@localhost ~]# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
            

查看效果:

 

 

相關文章
相關標籤/搜索