Мониторинг отсутствия логов.

Started by onrudoy, October 24, 2018, 04:20:20 PM

Previous topic - Next topic

onrudoy

Добрый день.
Есть задача, мониторить логи по определенной записи, которая создается каждые 30 секунд, если записей нет в течении 2-х минут, сообщить об этом.
Как парсить логи знаю, но вот как решить данную задачу, пока не могу придумать...

Victor Kirhenshtein

Можно при нахождении записи генерировать событие как обычно. По этому событию обновлять custom attribute на ноде в текущее время. Сделать скриптовый DCI на ноде со скриптом вида

return time() - GetCustomAttribute($node, "LogTimeAttribute");

он будет возвращать количество секунд с момента последнего обнаружения записи. Ну и поставить на него threshold как обычно.

onrudoy

Здравствуйте.
Спасибо за ответ.
В NetXMS новичек и по сему пока не очень понимаю как это можно реализовать, пока не до конца разобрался как работает NetXMS, до этого работал только в Zabbix и Nagios.
Не могли бы Вы подробнее немного описать как это можно реализовать?

Спасибо большое!

onrudoy

Друзья, я похоже немного не правильно понял как парсить логи.
Подскажите пожалуйста, сейчас у меня настроена следующая схема:
1. Включен субагент logwatch.nsm на сервере, с которого я буду собирать логи
2. Настроен Event на события с этого сервера
3. Настроен DCI, в котором Threshold - это мой Event
4. Настроена Policy, которая отправляет e-mail при срабатывании Event

Вопрос: Я всё правильно сделал?
Спасибо.

Victor Kirhenshtein

Нет, неправильно (или пропущены шаги в описании конфигурации). Событие будет сгенерировано агентом и обработано в policy, threshold тут ни при чем. Выше речь шла о том, что событий надо два. Примерно такая конфигурация:

1. Созданы события (шаблоны событий) Event_1 и Event_2.
2. Включен субагент logwatch.nsm на сервере. Настроен парсер на отсылку события Event_1 при обнаружении нужной записи.
2. Правило в policy для Event_1 с действием "execute NXSL script". Скрипт примерно такой:

SetCustomAttribute($node, "LastParserDetectionTime", time());

3. Создан DCI с source "Script". Скрипт для него используется такой:

return time() - GetCustomAttribute($node, "LastParserDetectionTime");

4. На DCI добавлен threshold, он генерирует Event_2.
5. В policy добавлено правило по отсылке письма по Event_2.

onrudoy

Добрый день.
Попробовал применить скрипт, но выдает ошибку:
Error 5 in line 1: Invalid operation with NULL value
И еще видимо я не совсем понимаю куда в DCI вставлять сам скрипт....
Помогите пожалуйста.