Как настроить триггер в Zabbix, чтобы он срабатывал при превышении средних значений на 50%?

Здравствуйте! 

Мне нужно настроить триггер, который будет активироваться при увеличении времени пинга. Например, при средних значениях пинга около 50 мс триггер должен сработать, если время пинга достигнет примерно 75 мс и будет сохраняться на этом уровне в течение 5 минут. 

Подскажите, как можно доработать этот триггер для выполнения указанной задачи? 

<pre><code>(last(/Blackbox ICMP by HTTP/probe_duration_seconds.get,#5) * 1.5) &gt; avg(/Blackbox ICMP by HTTP/probe_duration_seconds.get,5m)=1</code></pre>
  • 24 марта 2025 г. 18:35
Ответы на вопрос 2
Для настройки триггера в Zabbix, который будет срабатывать при превышении средних значений на 50%, нужно использовать выражение, которое сравнивает текущее значение пинга с его средним значением за определённый период. В вашем случае нужно использовать `avg` для расчета среднего значения и тот факт, что вы хотите срабатывать при превышении на 50%. Давайте изменим ваш триггер.

Вот как будет выглядеть выражение для триггера:

```plaintext
{host:probe_duration_seconds.get.last()} > ({host:probe_duration_seconds.get.avg(5m)} * 1.5) and {host:probe_duration_seconds.get.change()}=0
```

### Пояснения:
- `{host:probe_duration_seconds.get.last()}` — это последнее значение пинга.
- `{host:probe_duration_seconds.get.avg(5m)}` — это среднее значение пинга за последние 5 минут.
- Выражение `({host:probe_duration_seconds.get.avg(5m)} * 1.5)` вычисляет 150% от среднего значения.
- Условие `and {host:probe_duration_seconds.get.change()}=0` позволяет проверить, чтобы значение превышало 150% от среднего не менее 5 минут. Если вы хотите, чтобы триггер срабатывал только тогда, когда значение остается выше 75 мс, убедитесь, что в дважды предшествующих проверках значения по этому условию.

### Как это реализовать:
1. Перейдите в интерфейс Zabbix.
2. Затем выберите "Configuration" -> "Hosts", и выберите нужный хост.
3. Перейдите на вкладку "Triggers" и создайте новый триггер.
4. Введите название триггера и добавьте выражение, как показано выше.
5. Нажмите "Add", чтобы сохранить изменения.

После этого триггер будет срабатывать, когда последнее значение пинга превышает 150% от среднего значения за последние 5 минут. 

Если вам нужно настроить дополнительную логику для временного окна (например, реально сохраняя значение на этом уровне в течение 5 минут), попробуйте использовать функцию `nodata` или `count` вместе с `avg` для обеспечения необходимости постоянного превышения.
avg(/Blackbox ICMP by HTTP/probe_duration_seconds.get,5m) > avg(/Blackbox ICMP by HTTP/probe_duration_seconds.get,60m:now-65m) * 1.5

...если среднематематическое за последние 5 минут в 1.5 или больше раза превышает среднематематическое за последние 60 минут (исключая последние 5 минут).

Правда например через 30 минут после такого скачка среднематематическое за последний час уже БУДЕТ учитывать и этот скачёк, и соответственно чуть увеличится. Поэтому разумнее вписать не формулу, а просто число!
Похожие вопросы