Триггеры ZABBIX показывают несколько раз после повторного сохранения файла - PullRequest
0 голосов
/ 03 апреля 2019

Я новичок в Zabbix, и я хочу создать элемент, который ищет слово «проблема» в некотором файле журнала. Этот элемент должен искать файл каждые 5 секунд, и если есть какие-то "проблемные" слова, это вызывает проблему.

Я создаю ключ с условием:

log[/var/log/test/test.log,problem]

После этого создайте триггер:

{Log reader:log[/var/log/test/test.log,problem].strlen()}>0

Я создаю поддельный файл .log и заполняю его некоторыми поддельными данными:

asdasda
asdadad
problem
asadada

Все отлично работает, триггер работает и показывает мне проблему, где последние данные были "проблемы". После этого откройте фальшивый лог снова и напишите:

asdasda
asdadad
problem
asadada
problem 1

Сохраните его, и zabbix покажет мне 2 проблемы, обе из которых имеют последние данные «проблема 1». Когда я записываю проблему 3 в журнал, то же самое снова, 3 новых отчета, все с данными «проблемы 3».

Этот пункт должен только читать последние данные. Я не уверен на 100%, если это реальная проблема, потому что каждый раз, когда я редактирую файл .log, я так логично сохраняю его, элемент находит 3 слова, поэтому он создает 3 отчета. Как это будет работать, если .log будет реальным и заполненным реальными данными? Элемент только для чтения новостей, или он будет работать так же, как я повторно сохранить весь файл?

Большое спасибо за ваше время:)

1 Ответ

0 голосов
/ 04 апреля 2019

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

Ваш триггер работает, как и ожидалось,для каждой «проблемы», добавленной в ваш журнал, вы получаете тревогу, и ваша тревога остается навсегда.

Вы должны определить временное окно для своего триггера (то есть: триггер, если у меня есть хотя бы одна «проблема»)через 5 минут) или выражение восстановления для очистки триггера после выполнения определенного условия (т. е. 5 минут, прошедших без «проблемы» или «OK» в вашем журнале).

В соответствии с документацией по функциям триггера - секция strlen, при этом должно срабатывать одно предупреждение, которое срабатывает в течение 1 или более «проблемных» строк и очищается через 5 минут:

{Читатель журнала: log [/var/log/test/test.log,problem] .strlen (, 5м)}> 0

...