Триггер отправить электронное письмо немедленно когда сайт недоступен.
Linux Debian Stretch, Zabbix 4.2.1.
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
Пожалуйста, если дадите ответ, поясните. Не стейсняйся спросить.
Пункт web.tyest.fail
возвращает неудачный шаг сценария. При этом добиться желаемого результата можно так:
{VIRTUALMACHINE:web.test.fail[website.com].min(#3)}>0
Это проверит последние 3 значения и предупредит, если все они выше 0 (сбой). Рассмотрим этот сценарий:
Несколько дополнительных замечаний к выражениям, которые вы пробовали:
3
и 3m
что вы использовали для функции last()
игнорировались.1
что вы использовали для функции min min()
означает секунды, поэтому это выражение триггера в большинстве случаев вообще не работает. Я добавил теги к каждому триггеру и отредактировал действия электронной почты, добавив условия тега.
Например:
Сначала отправьте действие по электронной почте: не удается проверить связь с сервером.
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 не отправит электронное письмо.