Configuration
- Name(觸發器名稱):
名稱可以應用宏變量和未知參數,$1, $2...$9 宏可用於引用表達式的第一個、第二個...第九個常量。
- Event name(事件名稱);
如果已定義,此名稱將用於創建問題事件名稱,而不是觸發器名稱。
- Operational data(運營數據):
操作數據允許定義任意字符串以及宏。 宏將動態解析為監控 → 問題中的實時數據。 雖然觸發器名稱(見上文)中的宏將在問題發生時解析為它們的值,並將成為靜態問題名稱的基礎,但操作數據中的宏保持動態顯示最新信息的能力。支持與觸發器名稱相同的宏集。
- OK event generation(OK 事件生成選項):
Expression - OK 事件基於與問題事件相同的表達式生成;
Recovery expression - 如果promeblem表達式評估為 FALSE 並且恢復表達式評估為 TRUE,則生成 OK 事件;恢復表達式對於觸發滯后很有用。 如果問題表達式仍然為 TRUE,則無法僅通過恢復表達式來解決問題。
None - 在這種情況下,觸發器將永遠不會自行返回到 OK 狀態。
- PROBLEM event generation mode(問題事件生成模式)
產生問題事件的模式:
Single - 當觸發器第一次進入“問題”狀態時生成單個事件;
Multiple - 每次對觸發器進行“問題”評估時都會生成一個事件。
- OK event closes
All problems - 此觸發器的所有問題
All problems if tag values match - 只有那些觸發匹配事件標簽值的問題;輸入事件標簽名稱以用於事件關聯。
標簽選項卡允許您定義觸發級標簽。 此觸發器的所有問題都將使用此處輸入的值進行標記。觸發器不會“繼承”和顯示主機級標簽.
Trigger expression
一個簡單有用的表達式的語法是:function(/host/key,parameter)<operator><constant>
.
示例:
- 有人正在從 Internet 下載一個大文件。當 eth0 在過去 5 分鍾內接收到的字節數超過 100 KB 時,該表達式為真。
min(/www.example.com/net.if.in[eth0,bytes],5m)>100K
2.當 smtp1.example.com 和 smtp2.example.com 上的兩個 SMTP 服務器都關閉時,該表達式為真。適用於集群節點
last(/smtp1.example.com/net.tcp.service[smtp])=0 and last(/smtp2.example.com/net.tcp.service[smtp])=0
3.如果 Zabbix 代理的版本為 beta8,則表達式為真
find(/example.example.com/agent.version,,"like","beta8")=1
4.如果主機“example.example.com”在過去 30 分鍾內無法訪問超過 5 次,則表達式為真。
count(/example.example.com/icmpping,30m,,"0")>5
5.觸發器只能在晚上 (00:00-06:00) 將其狀態更改為 true。
min(/Zabbix server/system.cpu.load[all,avg1],5m)>2 and time()>000000 and time()<060000
6.如果最后一小時的平均負載超過昨天同一小時的平均負載兩倍以上,則此表達式將觸發。
avg(/server/system.cpu.load,1h)/avg(/server/system.cpu.load,1h:now-1d)>2
7.使用評估結果獲取超過閾值的觸發器數量:如果表達式中至少有兩個觸發器超過 5,觸發器將觸發。
(last(/server1/system.cpu.load[all,avg1])>5) + (last(/server2/system.cpu.load[all,avg1])>5) + (last(/server3/system.cpu.load[all,avg1])>5)>=2