@HighMan

Как в Zabbix создать немудреный триггер?

Здравствуйте, коллеги!
Есть файл логов error.log в него сыпятся ТОЛЬКО однотипные ОШИБКИ. Т.е. любая запись в нем - сигнал об очередной ошибке.
Сделать триггер на возникновение ошибки ни каких проблем: last(/test/log[/logs/program/error.log])<>0
Ошибка возникает при добавлении любой ной записи. Тут все просто.
Не могу сообразить как гасить эту ошибку, когда в другой файл all.log падает позитивное сообщение, типа: MACHINE_ID_OK
Что не делаю, ошибка не исправляется.
Есть item в котором на error.log и на all.log
Посоветуйте как решить эту проблему?
Заранее благодарен.
  • Вопрос задан
  • 671 просмотр
Пригласить эксперта
Ответы на вопрос 1
vesper-bot
@vesper-bot
Любитель файрволлов
Начнем с того, что триггер может и немудреный, у вас сложность с его погашением. Вам нужно как минимум повесить этот самый all.log на элемент данных, а потом экспериментировать с выражением отключения триггера с использованием метаданных события, которые вам придется ещё выколупывать из строчки в error.log, которая вызывает ошибку. Но если вам хватит по любой строчке в all.log гасить ошибку, в настройке триггера выбираете "OK event generation = Recovery expression" и в самом выражении Recovery expression пишете, скажем, nodata(/test/log[/logs/program/all.log],30)=0.

Однако тут есть подводный камень - recovery expression проверяется только если trigger expression становися false, т.е. пока вы НЕ УДАЛИТЕ ВСЕ ЛОГИ (при такой формулировке триггера) из error.log (или не запишете туда 0, как его понимает заббикс), ваш триггер не опустится. Поэтому при триггерах по логам (любым) нужно в качестве trigger expression на фильтрованные логи использовать nodata()=1, и если отсутствие данных в логах не означает прекращение проблемы, писать какой-то вменяемый recovery expression.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы