LogWatch: теория и практика использования
-
=))) Виктор, да я не про то...
Я уже понял что всё что я написал- правильно.
Одного не могу понять: а КАК этим всем пользоваться?????ГДЕ ОНО, то самое волшебное место, где связываются События <event></event> от logwatch и события (Eventы) сервера?
Я вот чего пытаюсь добиться.На текущий момент я вроде всё сконфигурил (и жду патча), но вот тупо не могу понять ГДЕ же это место в консоли?
Привожу полную цитату из https://www.netxms.org/forum/index.php/topic,483.0.html:
- проверять сообщения, принимаемые встроенным syslog сервером на соответствия шаблонам и создавать события при соответствии;
- через агента проверять записи в текстовых логах на соответствия шаблонам и создавать события при соответствии;
- на Windows - то-же самое для Windows Event Log.
Для 1. надо обновить сервер, для 2 и 3 достаточно поставить новых агентов.
Как настраивать монтторинг логов через агента:
- Создать необходимые события (через Control Panel -> Events);
- В конфиге агента добавить загрузку субагента logwatch.nsm (libnsm_logwatch.so на UNIX);
- Для каждого лога добавить запись вида Parser = config_file в секции LogWatch. Например так:
Code:
*LogWatch
Parser = /opt/netxms/etc/log_1.xml
Parser = /opt/netxms/etc/log_2.xml- Создать конфиги парсеров. Каждый конфиг - это отдельный XML файл следующего формата:
<parser>
<file>file_name</file>
<rules>
<rule>
<match>regexp</match>
<event params="n">event_code</event>
</rule>
...
</rules>
</parser>Таг <rule> можно повторять сколько необходимо. Аттрибут params в таге event указывает, сколько подстрок (обозначенных в regexp'e скобками) надо передать как параметры события (их потом можно использовать через макросы %1, %2, ...). Если параметров нет, то фттрибут events можно не указывать.
Для мониторинга Windows event logs вместо имени файла надо указывать *log_name, например *SystemЯ что-то не так понял или и для работы с логами Windows тоже нужно использовать встроенный syslog сервер?
А иначе я тупо не могу понять КАК работать с logwatch'ем.
Вроде всё почти сконфигурил а увидеть результаты где я смогу???? Я же не могу создать DCI для запроса к logwatch, потому что именно Агент генерирует транзакцию. Так где в консоли искать это?? -
В теге event надо указывать код NetXMS события - это и есть та самая связь. Код события виден в конфигураторе событий (см. скриншот).

-
Оооооо...
Вон оно что...Спасибо за подсказку.
В голове начинает проясняться.Т.е. это система, которая не требует наличия DCI?
И работает такая логическая цепочка:
- на агентской машине в логе появляется событие
нас это событие интересует и наш фильтр настроен на его отлов (пока по содержимому поля описания)
- наш фильтр ловит это Событие и переправляет его КОД (который <event></event>) на сервер мониторинга, который постоянно ждёт прихода такого рода данных от агентов
у нас есть несколько Событий (Event'ов) на сервере мониторинга, номера которых совпадают с номерами из <event></event> в конфигах logwatch на Агентах
- по приходу событий на сервер их номера сравниваются с номерами событий на сервере и если находится совпадение, то запускается процессинг
я правильно понял?

-
да, правильно

-
-
-
-
Выложил патч для x64: https://www.netxms.org/rc/nxagent-0.9.0-rc1-x64.exe.
Должен работать
-
-
-
-
Виктор, поскольку всё что мы тут понаписали сожрал проклятый
кризискатаклизм, прошу повториться и написать подробнее о нововведениях в мониторинге логов Windows...я про
- Added support for matching Windows event log records by event source,
severity, and event code
если Вас не затруднит, не могли бы Вы дать несколько примеров по использованию этой новой возможности?
- Added support for matching Windows event log records by event source,
-
Для фильтрации по этим полям в тэге <rule> можно указывать следующие тэги:
<id>event code range</id> - код события или диапазон, например <id>10</id> или <id>21-28</id>
<level>severity level</level> - уровень серьезности (тип) события. Здесь надо указывать маскуб составляемую из следующих значений:
1 error
2 warning
4 information
8 audit success
16 audit failureесли требуется несколько уровней, то эти значения суммируются - например для соответствия уровням error и information надо использовать значение 5 (1 + 4).
<source>event source pattern</source> - шаблон для имени источника события. Это не регулярное выражение, а именно шаблон, где можно использовать символы * и ?. Например, для всех имен, начинающихся на VNC, надо использовать VNC*.
Вот вроде и все.
-
Расскажите, плиз, подробнее про <event param="1"> в парсере.
Для начала хочу передавать в NetXMS текст эвента ошибки из виндового System Log.
Сделал простейший парсер:<parser> <file>*System</file> <rules> <rule> <level>1</level> <match>*</match> <event params="1">100012</event> </rule> </rules> </parser>Теперь при появлении ошибки в System Log, в NetXMS Event Browser'е появляется эвент, но без текста ошибки, хотя Message Template у него стоит %1. Что-то недокрутил?
P.S. И ещё вопросик вдогонку: не планируется ли доработать в будущем модуль для update/deploy клиентов, чтобы заодно распространять на них файлики с парсерами? Чтобы не копировать ручками .xml-файлик на 20 серверов.
-
@ethril said in LogWatch: теория и практика использования:
Расскажите, плиз, подробнее про <event param="1"> в парсере.
Для начала хочу передавать в NetXMS текст эвента ошибки из виндового System Log.
Сделал простейший парсер:<parser> <file>*System</file> <rules> <rule> <level>1</level> <match>*</match> <event params="1">100012</event> </rule> </rules> </parser>Теперь при появлении ошибки в System Log, в NetXMS Event Browser'е появляется эвент, но без текста ошибки, хотя Message Template у него стоит %1. Что-то недокрутил?
Ту часть текста, которую надо передать как параметр события, надо брать в скобки, например:
(.*) - весь текст будет взят как параметр
^Error (.*) - текст после слова Error будет взят как параметр -
@ethril said in LogWatch: теория и практика использования:
P.S. И ещё вопросик вдогонку: не планируется ли доработать в будущем модуль для update/deploy клиентов, чтобы заодно распространять на них файлики с парсерами? Чтобы не копировать ручками .xml-файлик на 20 серверов.
Планируется - будет возможность централизованно распространять конфиги, скрипты, и т.д.
-
-
-
Проблема, не проблема...
Решил написать:Win2008 - x86, NXMS 0.2.26.1
Подключил в Агенте LogWatch. И теперь лог буквально усыпан сообщениями:
LogWatch: Unable to read event log "Application": The event log file has changed between read operations.
Как с этим бороться?
-
Ja vilozil obnovlennij logwatch dlja testov - https://www.netxms.org/forum/index.php/topic,670.0.html. Teper' dolzen korrektno rabotat' na 2008.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login