Monitoring

Zabbix - Web 場景觸發。如何忽略第一次失敗的嘗試?

  • May 29, 2019

問題:

當站點無法訪問時觸發立即發送電子郵件。

系統:

Linux Debian Stretch,Zabbix 4.2.1。

Web場景的目前配置:

Scenario: 
Name: website.com 
Update interval: 30s 
Attempts: 3 
Agent: Zabbix

Steps: 
(just one) 
Name: website.com 
URL: http://website.com/page.php
Follow redirects: checked 
Timeout: 30s

(其餘不變)

觸發器的目前配置:

Name: The website.com can't be reached!
Expression: {VIRTUALMACHINE:web.test.fail[website.com].last(3m)}>0

(其餘不變)

解釋

如果站點在 3 分鐘內無法訪問(或最後 3 次檢查,每次檢查超時 30 秒),觸發器必鬚髮送電子郵件。我試圖以多種方式進行(如下*),但是當 zabbix 第一次檢測到問題時(而不是第 n 次嘗試),我嘗試的每個觸發表達式都會立即發送電子郵件通知。

*
{VIRTUALMACHINE:web.test.fail[website.com].sum(#3)}>0
{VIRTUALMACHINE:web.test.fail[website.com].last(3m)}<>0
{VIRTUALMACHINE:web.test.rspcode[website.com,website.com].last(0)}#200
{VIRTUALMACHINE:web.test.fail[website.com].last(3)}#0
{VIRTUALMACHINE:web.test.fail[website.com].sum(#3)}>0
{VIRTUALMACHINE:web.test.fail[website.com].last(3)}>0
{VIRTUALMACHINE:web.test.fail[website.com].min(1)}>0

如果您給出答案,請解釋一下。隨意問。

解決方案/解決方法

我在每個觸發器上添加了標籤,並通過添加標籤條件編輯了電子郵件操作。

例如:

首先發送電子郵件操作:無法 ping 伺服器。

ACTION tab
Conditions:
Tag value server equals icmpping

(其餘不變)

二發郵件動作:無法訪問網站。

ACTION tab
Conditions:
Tag value server equals web

OPERATIONS tab
Default operation step duration: 3m
Operation details: Steps = 2-2; Step duration = 0

(其餘不變)

Trigger expression:
{VIRTUALMACHINE:web.test.fail[website.com].last()}>0

現在 Zabbix 將在檢測到網站關閉 3 分鐘後向我發送一條消息,如果問題在這 3 分鐘內得到解決,Zabbix 將不會發送電子郵件。

引用自:https://serverfault.com/questions/968984