Ad Widget

Collapse

Просмотр событий Veem BackUP

Collapse
This topic has been answered.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Pochinok
    Senior Member
    • Oct 2024
    • 114

    #16
    [QUOTE=Kos;n504221]
    Нет, конечно.
    Во-первых, условие "logseverity()=1" проверяет, не была ли исходная важность равна "Information", а я предлагал предлагал проверять сам текст сообщения (функция find()).
    Во-вторых, условие восстановления в этом случае не нужно.
    Переделал все на find, условие восстановления убрал.
    в третьих, пойду опять читать, а то не понимаю все равно этот момент с корреляция

    Comment

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

      #17
      Originally posted by Pochinok
      Code:
      Вот здесь непонятно. На окончание одного задания - есть либо 150, либо 190, либо оба сразу?
      Как из текста сообщения с кодом 150 определить, к какому заданию оно относится?
      150 и 190 показываются оба сразу, я же выше описал порядок, 190 показывается всегда,когда успешно все прошло,когда не успешно, 150 показывается по такому же принципу, когда все прошло успешно, а когда прошло успешно но с ошибкой.
      В тексте сообщения с кодом 190 ведь указывается успешность завершения (успешно, предупреждение, ошибка)? Если так - то какую дополнительную информацию нам несут сообщения с кодом 150, и как из их текста определить, к какому бэкапному заданию они относятся?
      Originally posted by Pochinok
      вы мне пару месяцев назад +- помогали с подобной проблемой, делал копии через планировщика через bat`ники , вот я смотрю этот триггер, и хотел бы у вас уточнить,откуда вы взяли в
      Description Бэкапная задача: {{ITEM.VALUE}.regsub("^.* задачи "([^"]+)".*$","\1")} и в Tags Он указан в поле Value. фото прикрепил как пример, вот этот триггер работает шикарно, и я хочу по такому же принципу сделать новый
      То-то мне казалось, что что-то подобное я уже кому-то объяснял...
      Тег должен иметь значение, уникальное для каждого бэкапного задания (например, имя этого задания). Это значение назначается ему с помощью макрофункции (ссылка) regsub(), которая позволяет выдрать подстроку из исходного значения (которое, в свою очередь, извлекается с помощью системного макроса {ITEM.VALUE}).
      В вашем случае я бы задавал имена бэкапных заданий таким образом, чтобы они не имели в своём составе символа апострофа, тогда их можно извлекать с помощью, например, такой конструкции:
      Code:
      {{ITEM.VALUE}.regsub("^Backup job '([^']+)'.*$","\1")}

      Comment

      • Pochinok
        Senior Member
        • Oct 2024
        • 114

        #18
        Originally posted by Kos
        В тексте сообщения с кодом 190 ведь указывается успешность завершения (успешно, предупреждение, ошибка)? Если так - то какую дополнительную информацию нам несут сообщения с кодом 150, и как из их текста определить, к какому бэкапному заданию они относятся?


        190 у нас относиться к успешному завершению,или не удачном, а 150 относиться к успешному завершению, и задаче которая сделалась но с ошибкой)

        То-то мне казалось, что что-то подобное я уже кому-то объяснял...
        Тег должен иметь значение, уникальное для каждого бэкапного задания (например, имя этого задания). Это значение назначается ему с помощью макрофункции (ссылка) regsub(), которая позволяет выдрать подстроку из исходного значения (которое, в свою очередь, извлекается с помощью системного макроса {ITEM.VALUE}).
        В вашем случае я бы задавал имена бэкапных заданий таким образом, чтобы они не имели в своём составе символа апострофа, тогда их можно извлекать с помощью, например, такой конструкции:
        Code:
        {{ITEM.VALUE}.regsub("^Backup job '([^']+)'.*$","\1")}
        Совершенно верно, вы мне +- с похожей проблемой помогали, я вот видите почти до всего сам допер, не без вашей помощи, но вот триггеры эти, проблема для меня, смотрите, я сижу изучаю ссылку, по Корреляцией, делаю триггер по примеру, я так понимаю что-то я не так указал? можете указать на ошибку,


        Это значение назначается ему с помощью макрофункции (ссылка) regsub(), которая позволяет выдрать подстроку из исходного значения (которое, в свою очередь, извлекается с помощью системного макроса {ITEM.VALUE}). этот момент пока не могу переварить в голове, по остальному +- приходит понимание вот по этому не особо. в Триггере я так понимаю поля Information Error Warning указывать не нужно? и regexp
        Attached Files
        Last edited by Pochinok; 19-06-2025, 11:24.

        Comment

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

          #19
          В последнем скриншоте - ругань на некорректное количество параметров в функции find() в выражении восстановления (там и вправду написан какой-то бред).

          Я бы делал следующим образом:
          • ключ элемента данных:
          Code:
          eventlog["Veeam Backup","^Backup job '[^']+' (has been started|finished)",,,"^(110|190)$"]
          Те есть, выбираем только записи о начале либо завершении задания, всё остальное - игнорируем.
          • первый триггер, который срабатывает при старте задания и закрывается при его завершении (с любым результатом):
          Параметр Значение
          Name Backup job '{{ITEM.VALUE}.regsub("^Backup job '([^']+)'.*$","\1")}' started
          Severity Warning
          Problem expression find(/ВашХост/eventlog["Veeam Backup","^Backup job '[^']+' (has been started|finished)",,,"^(110|190)$"],,"like","has been started")=1
          OK event generation Expression
          PROBLEM event generation mode Multiple
          OK event closes All problems if tag values match
          Tag for matching job
          (в выражение проблемы подставить ваше имя хоста).
          Далее, на вкладке "Tags" - определить тег с тем же именем (job) и значением:
          Code:
          {{ITEM.VALUE}.regsub("^Backup job '([^']+)'.*$","\1")}
          • про второй триггер (на некорректное завершение) можно будет говорить, когда заработает как надо первый.

          Comment

          • Pochinok
            Senior Member
            • Oct 2024
            • 114

            #20
            Сделал как вы написали.
            1.
            Name Backup job '{{ITEM.VALUE}.regsub("^Backup job '([^']+)'.*$","\1")}' started
            обязателен он? могу ли я указать все на русском языке?
            2. триггер работает, но сам он не закрывается, только в ручную. Хотя результат у него был неудачный.
            3.соотвественно триггер в тг выглядит следующим образом,фото приложил.
            4. я понимаю что вы написали
            • про второй триггер (на некорректное завершение) можно будет говорить, когда заработает как надо первый.
            но по мне он отображает полностью начало процесса копирования виртуальной машины из среды Hyper-V
            ради теста закрыл его в ручную, он показывает следующее.причину по какой он не сделал копию написано.
            Attached Files
            Last edited by Pochinok; 19-06-2025, 12:37.

            Comment

            • Pochinok
              Senior Member
              • Oct 2024
              • 114

              #21

              2. триггер работает, но сам он не закрывается, только в ручную. Хотя результат у него был неудачный.


              Attached Files

              Comment

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

                #22
                Originally posted by Pochinok
                Сделал как вы написали.
                1.
                Name Backup job '{{ITEM.VALUE}.regsub("^Backup job '([^']+)'.*$","\1")}' started
                обязателен он? могу ли я указать все на русском языке?
                Да, можно написать по-русски, если так предпочитаете, например:
                Code:
                Задание на бэкап '{{ITEM.VALUE}.regsub("^Backup job '([^']+)'.*$","\1")}' запущено
                Originally posted by Pochinok
                2. триггер работает, но сам он не закрывается, только в ручную.
                Не срабатывает корреляция. А не срабатывает из-за того, что указаны разные теги: для корреляции (в поле "Tag for matching") указано имя тега "job", но такой тег не выставляется, т.к. на вкладке "Tags" задан тег с другим именем ("Veem"). Нужно, чтобы эти имена были одинаковыми.

                Насчёт уведомлений я не совсем понял - какие к ним претензии?

                Comment

                • Pochinok
                  Senior Member
                  • Oct 2024
                  • 114

                  #23
                  Не срабатывает корреляция. А не срабатывает из-за того, что указаны разные теги: для корреляции (в поле "Tag for matching") указано имя тега "job", но такой тег не выставляется, т.к. на вкладке "Tags" задан тег с другим именем ("Veem"). Нужно, чтобы эти имена были одинаковыми.


                  Поправил этот момент, триггер стал закрываться автоматически по истечению работы,все вопросов нет,все шикарно,в тг приходит то что хотелось бы видеть, теперь 150 номер остался. по нему подскажите как реализовать этот момент? то есть еще раз напомню, он говорит о успешном завершение , и о том что копия сделалась но с ошибкой, еще раз показываю скриншоты поведения 150 кода. То есть по нему, по описанию проблемы в тг можно будет понять,что копия сделалась или сделалась с ошибкой, и по какой причине.



                  Насчёт уведомлений я не совсем понял - какие к ним претензии? Претензий нет,не так выразил мысль свою
                  по 150 номеру, я же правильно понимаю, что для него придется сделать отдельный Item указать key и сделать отдельный триггер?
                  Attached Files
                  Last edited by Pochinok; 19-06-2025, 15:29.

                  Comment

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

                    #24
                    Рад, что заработало так, как хотелось.
                    Про сообщения с кодом 150 я так и не понимаю, какой именно их обработки вы хотите, т.к. на мои вопросы так и не ответили:
                    какую дополнительную информацию нам несут сообщения с кодом 150, и как из их текста определить, к какому бэкапному заданию они относятся?
                    Например, на вашем последнем скриншоте виден запуск нескольких заданий с именами "Zabbix 7.2.7" и "Zabbix 7.2.7 Test", но ни одно из этих имён не фигурирует в тексте сообщений с кодом 150. Как из текста "150-го" сообщения определить, о каком бэкапном задании в нём говорится?

                    Comment

                    • Pochinok
                      Senior Member
                      • Oct 2024
                      • 114

                      #25
                      Ладно,я думаю вы правы, особой пользы если так разобраться 150 код не несет, он появляется тогда если сделалась копия резервной машины но с ошибкой. Наверное хотелось видеть только этот момент,что копия ВМ есть но с ошибкой. 110 190 кода перекрывают 99% моих хотелок. вот опять же в событиях Windows 150 код говорит нам VM Asterisk task has finished with 'Success' state. ( Задача VM Asterisk завершена со статусом «Успешно».) вот почему я хочу видеть в идеале 150 код, 110 говорит а запуске начала резервной копии вм, а 150 прям говорит успешно т хотелось бы этот момент тоже наблюдать в тг.

                      VM Zabbix 7.2.5 task has finished with 'Warning' state.
                      Task details: Backup location [\\srv00-orion\d$] is getting low on free disk space (274,4 GB free of 3,6 TB). Задача VM Zabbix 7.2.5 завершена со статусом «Предупреждение».
                      Подробности задачи: Место резервного копирования [\\srv00-orion\d$] имеет мало свободного места на диске (свободно 274,4 ГБ из 3,6 ТБ) 150 опять же говорит что задача завершена но с ошибкой(предупреждение)
                      Attached Files
                      Last edited by Pochinok; 19-06-2025, 16:36.

                      Comment

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

                        #26
                        Ну, если нас не интересует отображение проблем на веб-консоли Zabbix, а нужен только конвейер: Windows Event Log -> Zabbix -> Telegram (чтобы тупо ретранслировать в Telegram какой-то набор сообщений), то так тоже можно сделать, хотя, на мой взгляд, это некоторое извращение.

                        Если же мы хотим, например, держать в Zabbix'е открытыми проблемы с неуспешными бэкапами, то для этого можно продублировать (склонировать) первый триггер, внеся такие изменения:
                        Параметр Значение
                        Name Задание на бэкап '{{ITEM.VALUE}.regsub("^Backup job '([^']+)'.*$","\1")}' завершилось неуспешно
                        Severity Average
                        Problem expression find(/ВашХост/eventlog["Veeam Backup","^Backup job '[^']+' (has been started|finished)",,,"^(110|190)$"],,"like","finished with")=1
                        and
                        find(/ВашХост/eventlog["Veeam Backup","^Backup job '[^']+' (has been started|finished)",,,"^(110|190)$"],,"like","finished with Success")=0
                        OK event generation Recovery expression
                        Recovery expression find(/ВашХост/eventlog["Veeam Backup","^Backup job '[^']+' (has been started|finished)",,,"^(110|190)$"],,"like","finished with Success")=1
                        Т.е. генерируем проблему только в случае, когда пришло сообщение о завершении (содержит "finished with"), но неуспешном (не содержит "finished with Success").
                        И тут нам нужно выражение восстановления, чтобы закрывать проблему только при получении "finished with Success", но не закрывать при получении, например, следующего "started".

                        Comment

                        • Pochinok
                          Senior Member
                          • Oct 2024
                          • 114

                          #27
                          Что-то не нравится ему. то есть на готовый триггер , нажал Clone, ввел ваш пример, и вот что появилось.
                          после добавления find(/ВашХост/eventlog["Veeam Backup","^Backup job '[^']+' (has been started|finished)",,,"^(110|190)$"],,"like","finished with Success")=0 появляется данная ошибка, по find(/ВашХост/eventlog["Veeam Backup","^Backup job '[^']+' (has been started|finished)",,,"^(110|190)$"],,"like","finished with")=1 и
                          Recovery expression find(/ВашХост/eventlog["Veeam Backup","^Backup job '[^']+' (has been started|finished)",,,"^(110|190)$"],,"like","finished with Success")=1
                          нет ошибок
                          Attached Files
                          Last edited by Pochinok; 20-06-2025, 04:01.

                          Comment

                          • Pochinok
                            Senior Member
                            • Oct 2024
                            • 114

                            #28
                            Ну, если нас не интересует отображение проблем на веб-консоли Zabbix, а нужен только конвейер: Windows Event Log -> Zabbix -> Telegram (чтобы тупо ретранслировать в Telegram какой-то набор сообщений), то так тоже можно сделать, хотя, на мой взгляд, это некоторое извращение.

                            а по какой причине не будет отображаться проблема? мы же не исключаем из журнала 150 код, 150 код в тг я объяснил почему хотел бы видеть. Почему по вашему это выглядит извращение? вы будете уведомлены что Задача VM Zabbix 7.2.5 завершена со статусом «Предупреждение» или же Задача VM Asterisk завершена со статусом «Успешно».

                            Comment

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

                              #29
                              Originally posted by Pochinok
                              Что-то не нравится ему. то есть на готовый триггер , нажал Clone, ввел ваш пример, и вот что появилось.
                              после добавления find(/ВашХост/eventlog["Veeam Backup","^Backup job '[^']+' (has been started|finished)",,,"^(110|190)$"],,"like","finished with Success")=0 появляется данная ошибка, по find(/ВашХост/eventlog["Veeam Backup","^Backup job '[^']+' (has been started|finished)",,,"^(110|190)$"],,"like","finished with")=1 и [TABLE]
                              Между двумя функциями find() пропущен оператор "and".
                              Code:
                              Ну, если нас не интересует отображение проблем на веб-консоли Zabbix, а нужен только конвейер:
                              Windows Event Log -> Zabbix -> Telegram (чтобы тупо ретранслировать в Telegram какой-то набор сообщений),
                              то так тоже можно сделать, хотя, на мой взгляд, это некоторое извращение.
                              а по какой причине не будет отображаться проблема? мы же не исключаем из журнала 150 код, 150 код в тг я объяснил почему хотел бы видеть. Почему по вашему это выглядит извращение?
                              Потому что для такой ретрансляции настраивать нужно по-другому:
                              • просто лепить триггер на любое новое значение, пришедшее в Zabbix;
                              • реакция на триггер (возникновение проблемы) - пересылать в Телеграм, после чего закрывать триггер автоматом;
                              • на окончание проблемы никаких действий не предпринимать (в частности, никаких сообщений не рассылать).
                              Сделать так можно, и даже будет работать, но насколько красиво будет такое решение - судите сами.
                              Last edited by Kos; 20-06-2025, 08:16.

                              Comment

                              • Pochinok
                                Senior Member
                                • Oct 2024
                                • 114

                                #30
                                Originally posted by Kos
                                Между двумя функциями find() пропущен оператор "and".
                                мой косяк, добавил и все прошло успешно как говорится, ну что мне еще добавить, получается я сделал какую-то солянку, по Key и trigger`am и вы все переделали по грамотному, все что было у меня в голове, оно реализовано вашими силами, я что в прошлый раз пошел не в том направление, и в этот раз так же, у вас все выходит грамотно компактно, у меня на каждое действие лишние манипуляция я так понимаю. а так я проверил, все работает прекрасно. Спасибо вам в очередной раз, вы мой спаситель 150 код и его триггер проверю по мере необходимости, не принудительно, если не будет работать, или коряво, или вообще не будет работать,просто его отключу, оставлю 110 и 190, как я вам и говорил они 99% нужды перекрывают моих.
                                Last edited by Pochinok; 20-06-2025, 08:47.

                                Comment

                                Working...