zabbix--創建觸發器


觸發器

 概述

觸發器是“評估”由監控項采集的數據並表示當前系統狀況的邏輯表達式。

當監控項用於采集系統的數據時,始終遵循這些數據是非常不切合實際的,因為這些數據始終在等待一個令人擔憂或者值得關注的狀態。然而這個“評估”數據的工作可以留給觸發器表達式。

觸發器表達式允許定義一個什么狀況的數據是“可接受”的閾值。因此,如果接收的數據超過了可接受的狀態,則觸發器會被觸發 - 或將狀態更改為異常。

一個觸發器可以擁有下面幾種狀態:

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

每當Zabbix server接收到作為表達式一部分的新值時,都會重新計算觸發器狀態(表達式)。

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

你可以構建觸不同復雜程度的觸發器表達式

詳情可以閱讀zabbix官方文檔:https://www.zabbix.com/documentation/4.0/zh/manual/config/triggers/trigger

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

1、先在agent安裝並啟用http服務

[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 ~]#

 

2、創建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
            

查看效果:

 

 

 


 

 

 

 


免責聲明!

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



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