Я пытаюсь настроить элемент совокупной проверки zabbix для проверки «agent.ping» в группе, но, к сожалению, «agent.ping» при недоступности ничего не возвращает, поэтому, когда я настраиваю триггер, он не вести себя правильно, я попытался использовать nodata в триггере, но я думаю, что узкое место находится в элементе (потому что grpfunc требует и возвращает значение).
Как мне настроить агрегированный элемент, который фактически возвращается, если все "agent.ping" группы не работают?
Я не знаю простого способа сделать это. Если эти хосты доступны с сервера, у вас может быть несколько простых проверок TCP-порта, которые вы могли бы агрегировать. Или, если у них есть хотя бы некоторые пассивные предметы, вы можете использовать zabbix[host,<type>,available]
внутренний элемент и агрегировать по этому (остерегайтесь "неизвестного" состояния, сбрасывающего вычисления).
Вы также можете использовать count()
функция запуска с участием agent.ping
- подсчитать количество значений в одном интервале обновления элемента. Это значение может сдвигаться вперед и назад из-за проблем с синхронизацией / производительностью.
Еще один подход - иметь расчетный элемент поверх каждого agent.ping
давая вам max()
по нескольким пунктам agent.ping
интервалы обновления, а затем агрегировать сверх этого. Здесь вычисленные элементы могут стать неподдерживаемыми при отсутствии данных, что приведет к обнаружению восстановления хоста с некоторой задержкой.