Ad Widget

Collapse

Мониторинг лога с описанием

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • aleksey.ishchenko
    Senior Member
    • May 2020
    • 187

    #1

    Мониторинг лога с описанием

    Есть событие, как можно мониторить, чтобы реагигровать не только на id ошибки, но и на описание проблемы, чтобы знать с какой из виртуалок роблемы
    Log Name: System
    Source: Microsoft-Windows-FailoverClustering
    Date: 4/16/2025 3:37:25 AM
    Event ID: 1069
    Task Category: Resource Control Manager
    Level: Error
    Keywords:
    User: SYSTEM
    Computer: hvsh-06
    Description:
    Cluster resource 'Virtual Machine vm162' of type 'Virtual Machine' in clustered role 'vm162' failed.
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    Например по event I’d вы знаете что за событие произошло, а в припроцессинге через regex получаете подстроку с именем VM которая и запишется в данных.
    далее настраиваете триггер и в его имени выводите в нем значение на которое он сработал {ITEM.LASTVALUE}
    Или не обрабатывать лог, а в самом триггере функцией для макросов вырезать из значения имя VM.

    Comment

    • michel789
      Junior Member
      • Apr 2025
      • 3

      #3
      Originally posted by Hamardaban
      Например по event I’d вы знаете что за событие произошло, а в припроцессинге через regex получаете подстроку с именем VM которая и запишется в данных.
      далее настраиваете триггер и в его имени выводите в нем значение на которое он сработал {ITEM.LASTVALUE} ipass
      Или не обрабатывать лог, а в самом триггере функцией для макросов вырезать из значения имя VM.
      https://www.zabbix.com/documentation...acro_functions
      Can you use multiple macros (e.g., {ITEM.LASTVALUE} and {HOST.NAME}) together in a single trigger expression to display both the VM name and the host name?
      Last edited by michel789; 30-04-2025, 06:57.

      Comment

      • aleksey.ishchenko
        Senior Member
        • May 2020
        • 187

        #4
        Создаю элемент данных eventlog[System,,,"FailoverClustering","1069",,skip]
        В предобработке выбираю регуоярное выражение (Cluster resource 'Virtual Machine .*?') of type 'Virtual Machine'.* вывод $1
        В тестировании если не вставляю значение получаю ошибку
        • cannot perform regular expression "(Cluster resource 'Virtual Machine .*?') of type 'Virtual Machine'.*" match for value of type "none": pattern does not match
        Если вставляю значение то плучаю вывод $1
        Где ошибка?

        Comment

        • Hamardaban
          Senior Member
          Zabbix Certified SpecialistZabbix Certified Professional
          • May 2019
          • 2713

          #5
          Вывод не "$1" , а "\1" (первая группа)

          Comment

          • aleksey.ishchenko
            Senior Member
            • May 2020
            • 187

            #6
            А как в триггер вывести значение предобработки? Чтобы триггер выдавал имя вм.

            Comment

            • Hamardaban
              Senior Member
              Zabbix Certified SpecialistZabbix Certified Professional
              • May 2019
              • 2713

              #7
              Т.к. предобработка изменяет сохраняемое значение элемента данных то в имени триггера (или в Operational data) можно использовать встроенный макрос со значением элемента - данных например {ITEM.LASTVALUE}

              Comment

              • aleksey.ishchenko
                Senior Member
                • May 2020
                • 187

                #8
                Ошибка Microsoft-Windows-FailoverClustering {{ITEM.VALUE}.regsub("Cluster resource 'Virtual Machine ([^']+)'", \1)
                Last edited by aleksey.ishchenko; 07-05-2025, 09:38.

                Comment

                • aleksey.ishchenko
                  Senior Member
                  • May 2020
                  • 187

                  #9
                  Ошибка Microsoft-Windows-FailoverClustering {{ITEM.VALUE}.regsub("Cluster resource 'Virtual Machine ([^']+)'", \1)

                  Как-то неправидно он раскрывается,в почту приходит
                  Problem started at 02:51:45 on 2025.05.12 Problem name: Ошибка Microsoft-Windows-FailoverClustering {server-name.regsub("Cluster resource 'Virtual Machine ([^']+)'", \1)
                  Host: Host Name
                  Severity: High
                  А хотелось бы только Problem started at 02:51:45 on 2025.05.12 Problem name: Ошибка Microsoft-Windows-FailoverClustering server-name, как-то можно это сделать?
                  Last edited by aleksey.ishchenko; 12-05-2025, 09:09.

                  Comment

                  • Hamardaban
                    Senior Member
                    Zabbix Certified SpecialistZabbix Certified Professional
                    • May 2019
                    • 2713

                    #10
                    Да - можно. Почитайте про азы регулярных выражений.
                    "Cluster resource 'Virtual Machine ([^']+)'" - написана хрень под которую явно не попадет ничего хорошего

                    ЗЫ
                    мне не трудно написать "правильный" регекс... но вам же гораздо лучше будет если разберетесь с темой! вещь нужная и мощная.

                    Comment

                    • Kos
                      Senior Member
                      Zabbix Certified SpecialistZabbix Certified Professional
                      • Aug 2015
                      • 3404

                      #11
                      Originally posted by Hamardaban
                      Да - можно. Почитайте про азы регулярных выражений.
                      "Cluster resource 'Virtual Machine ([^']+)'" - написана хрень под которую явно не попадет ничего хорошего
                      Коллега, я бы не был столь категоричен.
                      Если в качестве исходных данных используется текст, процитированный в изначальном сообщении, то такое регулярное выражение выглядит вполне корректным и должно было бы возвращать подстроку "vm162". Но в данном случае, похоже, проблема не в регулярном выражении, а в том, что в конце макрофункции отсутствует закрывающая всю конструкцию фигурная скобка (ещё раз внимательно смотрим на синтаксис тут).
                      Code:
                      {{ITEM.VALUE}.regsub("Cluster resource 'Virtual Machine ([^']+)'", \1)
                                                                                            }
                                                                                вот тут ----^
                      Last edited by Kos; 12-05-2025, 16:38.

                      Comment

                      • Hamardaban
                        Senior Member
                        Zabbix Certified SpecialistZabbix Certified Professional
                        • May 2019
                        • 2713

                        #12
                        Согласен. Это мне нужно учить regex. Снова.
                        Забыл про отрицание в диапазоне.
                        Приношу извинения за резкость.

                        Comment

                        • aleksey.ishchenko
                          Senior Member
                          • May 2020
                          • 187

                          #13
                          Originally posted by Kos
                          Коллега, я бы не был столь категоричен.
                          Если в качестве исходных данных используется текст, процитированный в изначальном сообщении, то такое регулярное выражение выглядит вполне корректным и должно было бы возвращать подстроку "vm162". Но в данном случае, похоже, проблема не в регулярном выражении, а в том, что в конце макрофункции отсутствует закрывающая всю конструкцию фигурная скобка (ещё раз внимательно смотрим на синтаксис тут).
                          Code:
                          {{ITEM.VALUE}.regsub("Cluster resource 'Virtual Machine ([^']+)'", \1)
                          }
                          вот тут ----^
                          В это случае приходит просто имя хоста, без указания вм, а если вставить {ITEM.VALUE} без регулярки в имя триггера, то все работает и корректно приходит только имя вм

                          Comment

                          Working...