Назад | Перейти на главную страницу

Понимание триггеров Zabbix

У меня установлен zabbix с элементом для мониторинга файла журнала на клиенте zabbix:

log["/var/log/program_name/client.log","ERROR:","UTF-8",100]

И триггер, чтобы определить, когда в этом файле журнала будет больше ОШИБОК:

{Template_Linux:log["/var/log/program_name/client.log","ERROR:","UTF-8",100].change(0)}#0

Этот триггер срабатывает, когда файл журнала получает ОШИБКИ в первый раз, но тогда этот первый триггер просто остается навсегда в Мониторинг-> Триггеры. Насколько я понимаю, в следующий раз, когда сервер проверяет значение журнала ["/ var / log / имя_программы / client.log", "ОШИБКА:", "UTF-8", 100] и видит, что это не изменилось спусковой крючок уйдет. Очевидно, это не так. Может ли кто-нибудь объяснить, почему этот первый триггер не исчезает?

В конечном итоге моя цель - получать электронное письмо всякий раз, когда в этот файл журнала добавляются ОШИБКИ, но я хотел бы сначала понять, как работают триггеры.

Элемент агента «журнал» по умолчанию проверяет весь журнал, вы должны указать ему использовать режим «пропуска», чтобы избежать обработки старых данных. Просто добавьте ", пропустить" в конце ваших параметров в элементе журнала. Внимательно проверьте эта страница в документации.

И шаблонный элемент, и триггер кажутся нормальными.

  • Является ли элемент, прикрепленный к этому хосту, оригинальным шаблоном или вы его клонировали и внесли некоторые изменения?
  • Правильно ли обновляется товар? (Проверить мониторинг | Последние данные)?

.change (0) ведет себя так, как и следовало ожидать, он возвращает 1, если последняя и предыдущая строки отличаются.

Просто для отладки попробуйте следующее:

{Template_Linux:log["/var/log/program_name/client.log","ERROR:","UTF-8",100].last(0)}#{Template_Linux:log["/var/log/program_name/client.log","ERROR:","UTF-8",100].prev(0)}