Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

  1. Home
  2. Support (Russian)
  3. LogWatch: теория и практика использования

LogWatch: теория и практика использования

Scheduled Pinned Locked Moved Support (Russian)
40 Posts 6 Posters 128.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V
    V
    Victor Kirhenshtein
    wrote on last edited by
    #2

    Это баг 😞 Как оказалось, 64-bit агенты собраны без поддержки XML. Исправлю и выложу обновленный инсталлер.

    1 Reply Last reply
    0
    • A
      A
      Anth0ny
      wrote on last edited by
      #3

      Благодарю 😃

      Ещё один вопрос по теме настроек: https://www.netxms.org/forum/index.php/topic,483.0.html

      я, если честно, не понял, как именно настраивается обработка поступающих от Агентов эвентов?

      я понял, что нужно стандартно создать События и обработчик для них. А вот как связать события с поступающими данными? в обычном случае для этого использовался DCI (Origin) и его трешолды.

      а в данном случае с логами - как?

      прошу разъяснить...

      1 Reply Last reply
      0
      • V
        V
        Victor Kirhenshtein
        wrote on last edited by
        #4

        Не очень понял суть вопроса 😞 События обрабатываются как любые другие, через event processing policy. Может быть опишешь одну конкретную задачу, а я напишу как все сконфигурить?

        1 Reply Last reply
        0
        • A
          A
          Anth0ny
          wrote on last edited by
          #5

          Ну... Скажем так:

          есть сервер, на котором желательно мониторить логи (*System и *Application).
          нужно в теле описания эвентов искать фразы типа "can not browse" (для Application) и "port browser stopped" (для System). жаль что пока нельзя искать по остальным атрибутам эвентов... очень ждём эту возможность.

          что я сделал:

          на Агенте

          1. подключил в конфиге Агента субагента Logwatch
          ...
          SubAgent = logwatch.nsm
          ...
          
          1. создал 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>
          
          1. Подключил оба конфига к Субагенту.
          *LogWatch
          Parser = C:\Program Files\NetXMS\etc\a-watch.xml
          Parser = C:\Program Files\NetXMS\etc\s-watch.xml
          

          на Сервере

          1. Создал Event'ы (всего 4: активирующий и реактивирующий для каждого из 2 логов)

          2. Создал Обработчики для всех 4ёх Event'ов.

          3. Перезапустил Агента.

          Дальше произошла ошибка о которой я сообщил в этом посте...

          LogWatch: Cannot create parser from configuration file C:\Program Files\NetXMS\etc\a-watch.xml (Compiled without XML support)
          

          И вот какая незадача: если честно, то я не совсем понимаю, а что же и где настраивать дальше?

          Собственно это и есть проблема...

          1 Reply Last reply
          0
          • V
            V
            Victor Kirhenshtein
            wrote on last edited by
            #6

            Ну, собственно я уже писал, что это баг в 64 битном агенте. Надо ждать патч. А так конфиг выглядит правильно, единственно у меня вызывают подозрение коды событий 100 и 101 - из консоли события с такими кодами создать нельзя.

            1 Reply Last reply
            0
            • A
              A
              Anth0ny
              wrote on last edited by
              #7

              =))) Виктор, да я не про то...

              Я уже понял что всё что я написал- правильно.
              Одного не могу понять: а КАК этим всем пользоваться?????

              ГДЕ ОНО, то самое волшебное место, где связываются События <event></event> от logwatch и события (Eventы) сервера?
              Я вот чего пытаюсь добиться.

              На текущий момент я вроде всё сконфигурил (и жду патча), но вот тупо не могу понять ГДЕ же это место в консоли?

              Привожу полную цитату из https://www.netxms.org/forum/index.php/topic,483.0.html:

              1. проверять сообщения, принимаемые встроенным syslog сервером на соответствия шаблонам и создавать события при соответствии;
              2. через агента проверять записи в текстовых логах на соответствия шаблонам и создавать события при соответствии;
              3. на Windows - то-же самое для Windows Event Log.

              Для 1. надо обновить сервер, для 2 и 3 достаточно поставить новых агентов.

              Как настраивать монтторинг логов через агента:

              1. Создать необходимые события (через Control Panel -> Events);
              2. В конфиге агента добавить загрузку субагента logwatch.nsm (libnsm_logwatch.so на UNIX);
              3. Для каждого лога добавить запись вида Parser = config_file в секции LogWatch. Например так:

              Code:

              *LogWatch
              Parser = /opt/netxms/etc/log_1.xml
              Parser = /opt/netxms/etc/log_2.xml

              1. Создать конфиги парсеров. Каждый конфиг - это отдельный 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, потому что именно Агент генерирует транзакцию. Так где в консоли искать это??

              1 Reply Last reply
              0
              • V
                V
                Victor Kirhenshtein
                wrote on last edited by
                #8

                В теге event надо указывать код NetXMS события - это и есть та самая связь. Код события виден в конфигураторе событий (см. скриншот).


                events.png

                1 Reply Last reply
                0
                • A
                  A
                  Anth0ny
                  wrote on last edited by
                  #9

                  Оооооо...
                  Вон оно что...

                  Спасибо за подсказку.
                  В голове начинает проясняться.

                  Т.е. это система, которая не требует наличия DCI?

                  И работает такая логическая цепочка:

                  1. на агентской машине в логе появляется событие

                  нас это событие интересует и наш фильтр настроен на его отлов (пока по содержимому поля описания)

                  1. наш фильтр ловит это Событие и переправляет его КОД (который <event></event>) на сервер мониторинга, который постоянно ждёт прихода такого рода данных от агентов

                  у нас есть несколько Событий (Event'ов) на сервере мониторинга, номера которых совпадают с номерами из <event></event> в конфигах logwatch на Агентах

                  1. по приходу событий на сервер их номера сравниваются с номерами событий на сервере и если находится совпадение, то запускается процессинг

                  я правильно понял?
                  😃

                  1 Reply Last reply
                  0
                  • V
                    V
                    Victor Kirhenshtein
                    wrote on last edited by
                    #10

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

                    1 Reply Last reply
                    0
                    • A
                      A
                      Anth0ny
                      wrote on last edited by
                      #11

                      OMG спасибо за разъяснение! 😃
                      Весьма элегантное решение! 😃

                      А что слышно про патч для х64?

                      1 Reply Last reply
                      0
                      • A
                        A
                        Anth0ny
                        wrote on last edited by
                        #12

                        UP

                        очень жду патча.

                        1 Reply Last reply
                        0
                        • A
                          A
                          Anth0ny
                          wrote on last edited by
                          #13

                          прошу простить за назойливость (вызвано производственной необходимостью), но ...

                          UP-UP

                          😃

                          1 Reply Last reply
                          0
                          • V
                            V
                            Victor Kirhenshtein
                            wrote on last edited by
                            #14

                            Выложил патч для x64: https://www.netxms.org/rc/nxagent-0.9.0-rc1-x64.exe.
                            Должен работать 🙂

                            1 Reply Last reply
                            0
                            • A
                              A
                              Anth0ny
                              wrote on last edited by
                              #15

                              Not found =(

                              1 Reply Last reply
                              0
                              • V
                                V
                                Victor Kirhenshtein
                                wrote on last edited by
                                #16

                                Sorry, https://www.netxms.org/download/rc/nxagent-0.9.0-rc1-x64.exe

                                1 Reply Last reply
                                0
                                • A
                                  A
                                  Anth0ny
                                  wrote on last edited by
                                  #17

                                  сегодня наконец поставил, буду посмотреть как оно себя поведёт...

                                  1 Reply Last reply
                                  0
                                  • A
                                    A
                                    Anth0ny
                                    wrote on last edited by
                                    #18

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

                                    я про

                                    • Added support for matching Windows event log records by event source,
                                        severity, and event code

                                    если Вас не затруднит, не могли бы Вы дать несколько примеров по использованию этой новой возможности?

                                    1 Reply Last reply
                                    0
                                    • V
                                      V
                                      Victor Kirhenshtein
                                      wrote on last edited by
                                      #19

                                      Для фильтрации по этим полям в тэге <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*.

                                      Вот вроде и все.

                                      1 Reply Last reply
                                      0
                                      • E
                                        E
                                        Ethril
                                        wrote on last edited by
                                        #20

                                        Расскажите, плиз, подробнее про <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 серверов.

                                        1 Reply Last reply
                                        0
                                        • V
                                          V
                                          Victor Kirhenshtein
                                          wrote on last edited by
                                          #21

                                          @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 будет взят как параметр

                                          1 Reply Last reply
                                          0

                                          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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups