NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: onrudoy on October 24, 2018, 04:20:20 PM

Title: Мониторинг отсутствия логов.
Post by: onrudoy on October 24, 2018, 04:20:20 PM
Добрый день.
Есть задача, мониторить логи по определенной записи, которая создается каждые 30 секунд, если записей нет в течении 2-х минут, сообщить об этом.
Как парсить логи знаю, но вот как решить данную задачу, пока не могу придумать...
Title: Re: Мониторинг отсутствия логов.
Post by: Victor Kirhenshtein on October 26, 2018, 01:16:50 PM
Можно при нахождении записи генерировать событие как обычно. По этому событию обновлять custom attribute на ноде в текущее время. Сделать скриптовый DCI на ноде со скриптом вида

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

он будет возвращать количество секунд с момента последнего обнаружения записи. Ну и поставить на него threshold как обычно.
Title: Re: Мониторинг отсутствия логов.
Post by: onrudoy on October 29, 2018, 10:28:09 AM
Здравствуйте.
Спасибо за ответ.
В NetXMS новичек и по сему пока не очень понимаю как это можно реализовать, пока не до конца разобрался как работает NetXMS, до этого работал только в Zabbix и Nagios.
Не могли бы Вы подробнее немного описать как это можно реализовать?

Спасибо большое!
Title: Re: Мониторинг отсутствия логов.
Post by: onrudoy on November 02, 2018, 10:01:35 AM
Друзья, я похоже немного не правильно понял как парсить логи.
Подскажите пожалуйста, сейчас у меня настроена следующая схема:
1. Включен субагент logwatch.nsm на сервере, с которого я буду собирать логи
2. Настроен Event на события с этого сервера
3. Настроен DCI, в котором Threshold - это мой Event
4. Настроена Policy, которая отправляет e-mail при срабатывании Event

Вопрос: Я всё правильно сделал?
Спасибо.
Title: Re: Мониторинг отсутствия логов.
Post by: Victor Kirhenshtein on November 02, 2018, 11:07:52 AM
Нет, неправильно (или пропущены шаги в описании конфигурации). Событие будет сгенерировано агентом и обработано в 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.
Title: Re: Мониторинг отсутствия логов.
Post by: onrudoy on November 06, 2018, 01:04:16 PM
Добрый день.
Попробовал применить скрипт, но выдает ошибку:
Error 5 in line 1: Invalid operation with NULL value
И еще видимо я не совсем понимаю куда в DCI вставлять сам скрипт....
Помогите пожалуйста.