LogWatch: теория и практика использования
-
OS: Windows 2008 x64
Всё сделал как написано тут: https://www.netxms.org/forum/index.php/topic,483.0.html
После всех преготовлений перезапускаю Агента, и....
Получаю в System-логе вот такое сообщение:LogWatch: Cannot create parser from configuration file C:\Program Files\NetXMS\etc\log_2.xml (Compiled without XML support)
-
Это баг
Как оказалось, 64-bit агенты собраны без поддержки XML. Исправлю и выложу обновленный инсталлер. -
Благодарю

Ещё один вопрос по теме настроек: https://www.netxms.org/forum/index.php/topic,483.0.html
я, если честно, не понял, как именно настраивается обработка поступающих от Агентов эвентов?
я понял, что нужно стандартно создать События и обработчик для них. А вот как связать события с поступающими данными? в обычном случае для этого использовался DCI (Origin) и его трешолды.
а в данном случае с логами - как?
прошу разъяснить...
-
Не очень понял суть вопроса
События обрабатываются как любые другие, через event processing policy. Может быть опишешь одну конкретную задачу, а я напишу как все сконфигурить? -
Ну... Скажем так:
есть сервер, на котором желательно мониторить логи (*System и *Application).
нужно в теле описания эвентов искать фразы типа "can not browse" (для Application) и "port browser stopped" (для System). жаль что пока нельзя искать по остальным атрибутам эвентов... очень ждём эту возможность.что я сделал:
на Агенте
- подключил в конфиге Агента субагента Logwatch
... SubAgent = logwatch.nsm ...- создал 2 тестовых xml-конфига для субагента (s-watch.xml и a-watch.xml)
s-watch.xml
<parser> <file>*System</file> <rules> <rule> <match>port browser stopped</match> <event>100</event> </rule> </rules> </parser>a-watch.xml
<parser> <file>*Application</file> <rules> <rule> <match>can not browse</match> <event>101</event> </rule> </rules> </parser>- Подключил оба конфига к Субагенту.
*LogWatch Parser = C:\Program Files\NetXMS\etc\a-watch.xml Parser = C:\Program Files\NetXMS\etc\s-watch.xmlна Сервере
-
Создал Event'ы (всего 4: активирующий и реактивирующий для каждого из 2 логов)
-
Создал Обработчики для всех 4ёх Event'ов.
-
Перезапустил Агента.
Дальше произошла ошибка о которой я сообщил в этом посте...
LogWatch: Cannot create parser from configuration file C:\Program Files\NetXMS\etc\a-watch.xml (Compiled without XML support)И вот какая незадача: если честно, то я не совсем понимаю, а что же и где настраивать дальше?
Собственно это и есть проблема...
-
Ну, собственно я уже писал, что это баг в 64 битном агенте. Надо ждать патч. А так конфиг выглядит правильно, единственно у меня вызывают подозрение коды событий 100 и 101 - из консоли события с такими кодами создать нельзя.
-
=))) Виктор, да я не про то...
Я уже понял что всё что я написал- правильно.
Одного не могу понять: а КАК этим всем пользоваться?????ГДЕ ОНО, то самое волшебное место, где связываются События <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 серверов.
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