Ad Widget

Collapse

Нужна помощь в создание Триггера на события с Журнала Событий Windows

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

    #1

    Нужна помощь в создание Триггера на события с Журнала Событий Windows

    Всем Здравствуйте, снова нужна ваша помощь, есть Zabbix server 7.2.5, есть Windows Server 2019 на нем установлен Zabbix Agent 7.2.3, Windows Server 2019 выполняет роль обменника в организации, каждую неделю делаются резервные копии обменика, весь процесс сделать через Bat файлы. Я на данном сервере сделал Active checks . после этого создал два Item первый на запуск действия, чтоб Zabbix Agent мониторил определенный события в журнале событий Windows. а именно 102 на завершение и 200 на запуск, расписания сделаны в планировщике задач. скрины прилагаются . Далее я создал два itema c названием и key, первый назвал Task Scheduler: Task Started когда запустилось действие, вот содержимое Item Второй item Task Scheduler: Task Completed на окончание процесса. Содержимое его тоже в фото прикладываю . Теперь про Тригерры, можно ли вообще сделать так, чтоб срабатывал триггер на 200 и 102 OID с журнала Windiows? когда запустились рез. коп сработал триггер условно что событие 200 запустилось, и событие 102 окончилось, я создал 2 триггера но они не работают, если нужны скрины могу тоже скинуть, кто-то может мне сказать, так ты создай Триггер на обноружения CMD . я так делал, когда запускаются рез копии. соответственно запускается CMD и триггер срабатывает когда видит его в процессах, и тоже самое когда он через 2 дня(столько делаются копии по времени) и через 2 дня срабатывает триггер что CMD нет в процессах, но почему мне не нравится этот момент, триггер работает постоянно, в системе нет Cmd и висит ошибка, что CMD Не запущен в системе, я не нашел решения чтоб он разово срабатывал, вообще может кто-то делал по другому процесс отслеживания рез.копий ? в общем нужна ваша помощь. чуть не забыл, вот что отображается у меня в Latest data
    Attached Files
    Last edited by Pochinok; 02-04-2025, 06:23.
  • Answer selected by Kos at 03-04-2025, 19:00.
    Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    Как бы такую задачу решал я:
    • сделал бы не два, а один item, который собирает значения для EventID 200 и 102 (на запуск и завершение):
    Code:
    eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"]
    • такой элемент данных будет собирать все записи, относящиеся как к началу работы, так и к окончанию работы каждого из бэкапных заданий; далее остаётся настроить триггер с корреляцией событий - аналогично тому, как приведено в примере документации (ссылка).
    • настраиваем триггер, который срабатывает на начало бэкапного задания:
    Code:
    find(/srv00-services/eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"],,"like","запустил")=1
    • прописываем в этом же триггере условие восстановления:
    Code:
    find(/srv00-services/eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"],,"like","завершил")=1
    • указываем параметры "Режим генерации событий ПРОБЛЕМА: Множественный" и "ОК событие закрывает: Все проблемы если значения тегов совпадают";
    • настраиваем тег, значением которого будет имя бэкапного задания (извлекается из строки журнала, извлекаем часть строки внутри кавычек после подстроки " задачи "):
    Имя тега Значение
    task {{ITEM.VALUE}.regsub("^.* задачи \"([^\"]+)\".*$","\1")}
    • указываем имя тега для сопоставления событий (поле "Tag for matching:" -> наш тег "task").

    Альтернативный подход - раз уж у нас запускаются батники, то просто в самих батниках использовать вызов утилиты zabbix_sender, чтобы отсылать на сервер Zabbix признак начала работы конкретной задачи (допустим, число "-1") и код завершения этой задачи по её окончании (ноль - успешный, положительное число - какая-то ошибка). Такой подход у нас тоже успешно используется, только нужно либо на стороне сервера Zabbix руками создавать соответствующие элементы данных и триггеры для них, либо прикручивать LLD (ссылка).

    Last edited by Kos; 02-04-2025, 14:38.

    Comment

    • Pochinok
      Senior Member
      • Oct 2024
      • 114

      #2
      Вот скриншоты с Latest data по двум Item . Либо я слишком сильно заморачиваю и есть легкий способ отслеживать процесс рез.копий, опять же кто-то скажет,создай триггер на загрузку диска и тд, уже советовали, сделай опрос час два,чтоб каждые 5 мин уведомления не приходили в Telegram. тоже не охота менять время опроса диска,со стандартного Шаблона, нужны ваши идеи, Спасибо заранее
      Attached Files
      Last edited by Pochinok; 02-04-2025, 04:21.

      Comment

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

        #3
        Как бы такую задачу решал я:
        • сделал бы не два, а один item, который собирает значения для EventID 200 и 102 (на запуск и завершение):
        Code:
        eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"]
        • такой элемент данных будет собирать все записи, относящиеся как к началу работы, так и к окончанию работы каждого из бэкапных заданий; далее остаётся настроить триггер с корреляцией событий - аналогично тому, как приведено в примере документации (ссылка).
        • настраиваем триггер, который срабатывает на начало бэкапного задания:
        Code:
        find(/srv00-services/eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"],,"like","запустил")=1
        • прописываем в этом же триггере условие восстановления:
        Code:
        find(/srv00-services/eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"],,"like","завершил")=1
        • указываем параметры "Режим генерации событий ПРОБЛЕМА: Множественный" и "ОК событие закрывает: Все проблемы если значения тегов совпадают";
        • настраиваем тег, значением которого будет имя бэкапного задания (извлекается из строки журнала, извлекаем часть строки внутри кавычек после подстроки " задачи "):
        Имя тега Значение
        task {{ITEM.VALUE}.regsub("^.* задачи \"([^\"]+)\".*$","\1")}
        • указываем имя тега для сопоставления событий (поле "Tag for matching:" -> наш тег "task").

        Альтернативный подход - раз уж у нас запускаются батники, то просто в самих батниках использовать вызов утилиты zabbix_sender, чтобы отсылать на сервер Zabbix признак начала работы конкретной задачи (допустим, число "-1") и код завершения этой задачи по её окончании (ноль - успешный, положительное число - какая-то ошибка). Такой подход у нас тоже успешно используется, только нужно либо на стороне сервера Zabbix руками создавать соответствующие элементы данных и триггеры для них, либо прикручивать LLD (ссылка).

        Last edited by Kos; 02-04-2025, 14:38.

        Comment

        • Pochinok
          Senior Member
          • Oct 2024
          • 114

          #4
          Kos В очередной раз выручаете меня, вот только что стал читать про значение find в документации , уже сделал кривой косой триггер и он работает(не совсем как нужно но работает) на сервере что-то делать нет возможности и времени,опять же, что-то не так сделаю и потом сидеть мучаться. лучше я расмотрю ваш вариант под № 1 я думаю он меня полностью устроит, + я начал по документацией в эту сторону уже копать самостоятельно

          Comment

          • Pochinok
            Senior Member
            • Oct 2024
            • 114

            #5
            Kos а вы можете глянуть,верно ли я в триггере указал значения?
            и по
            • настраиваем тег, значением которого будет имя бэкапного задания (извлекается из строки журнала, извлекаем часть строки внутри кавычек после подстроки " задачи "):
            Имя тега Значение
            task {{ITEM.VALUE}.regsub("^.* задачи "([^"]+)".*$","\1")}
            • указываем имя тега для сопоставления событий (поле "Tag for matching:" -> наш тег "task").
            если можно еще проще объяснить? а то что-то не особо понимаю, спасибо за понимание
            создал один item как вы написали, указал ключ который вы тут указали, свои пока отключил,вот теги(tags) ни разу не делал, и тут у меня трудности,не совсем догоняю что нужно указывать? имя я указываю task? И следующий значение, мне тут нужно что-то указать с Журнала событий? и в Тегах скажите верно указал? или бред полный?) я запустил тест рез.коп. триггер сработал, и отображается почему-то вот так. после того я как я принудительно остановил рез копии, у меня выглядит вот так. то есть я так понимаю, закрывать их придется в ручную всегда? т.к я нажал закрыть проблему, она закрылась и все ок, или опять же, я что-то не то указал и она должна закрываться в автоматическом режиме?
            Attached Files
            Last edited by Pochinok; 02-04-2025, 10:40.

            Comment

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

              #6
              Originally posted by Pochinok
              Kos а вы можете глянуть,верно ли я в триггере указал значения?
              Хмм...
              создал один item как вы написали, указал ключ который вы тут указали
              Да, это сделано верно.
              Всё остальное (то, что касается триггера) - мягко говоря, не очень:
              • в формулах триггерных выражений (как выражение проблемы, так и выражение восстановления) написано не то (причём, оба выражения почему-то одинаковые). Я же указал, что там должно быть - достаточно просто скопипастить, как тут можно ошибиться?
              • в качестве значения тега с именем "task" указано, опять-таки, не совсем то, что у меня;
              • в качестве значения тега event_type указан бред, да и весь этот тег для данной задачи не нужен;
              • параметр триггера "OK событие закрывает" у вас тоже имеет не то значение. После того как переставите его в значение "Все проблемы если значения тегов совпадают", появится дополнительное поле, в котором нужно указать имена этих совпадающих тегов - вот там и нужно будет вбить имя тега "task" (без кавычек).
              Но вообще-то, всё это описано в документации, ссылку на которую я дал - нужно спокойно почитать и разобраться; спрашивайте, если непонятно, а не действуйте методом тыка.

              Comment

              • Pochinok
                Senior Member
                • Oct 2024
                • 114

                #7
                [*]настраиваем триггер, который срабатывает на начало бэкапного задания:[/LIST]
                Code:
                find(/srv00-services/eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"],,like,"запустил")=1
                • прописываем в этом же триггере условие восстановления:
                [CODE]
                find(/srv00-services/eventlog[Microsoft-Windows-TaskScheduler/Operational,BackUp.*,,,"^(102|200)$"],,like,"завершил")=1


                я подумал что это был просто пример, по этому и подумал что тут нужно указывать другое значение, вот смотрите, я грубо говоря тупо все скопировал как вы написали,и получается вот что,не нравится ему . Видимо мне документация дается тяжалее чем вот такая дискуссия и помощь от человека, вы сразу указываете на проблемы. вот я сделал как вы писали, и результат
                • в качестве значения тега event_type указан бред, да и весь этот тег для данной задачи не нужен;
                • параметр триггера "OK событие закрывает" у вас тоже имеет не то значение. После того как переставите его в значение "Все проблемы если значения тегов совпадают", появится дополнительное поле, в котором нужно указать имена этих совпадающих тегов - вот там и нужно будет вбить имя тега "task" (без кавычек).
                эти два момента поправил, спасибо
                Attached Files
                Last edited by Pochinok; 02-04-2025, 13:38.

                Comment

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

                  #8
                  Originally posted by Pochinok
                  все скопировал как вы написали,и получается вот что,не нравится ему
                  Прошу прощения - это моя опечатка. В условиях триггера слово "like" должно быть заключено в кавычки. Попробуйте ещё раз.

                  Comment

                  • Pochinok
                    Senior Member
                    • Oct 2024
                    • 114

                    #9
                    Kos Вот так получается? если да, то опять же что-то не нравится ему. или я что-то не так скопировал или пробел указал при копирование?
                    Attached Files

                    Comment

                    • Pochinok
                      Senior Member
                      • Oct 2024
                      • 114

                      #10
                      Kos а вот сейчас смотрите,он триггер обновил,вроде все с нуля внимательно написал, и обновился он и не ругается, получается вот это условие верное?
                      проверить сейчас не смогу работу триггера на срабатывание, из дома просто работаю, и на одном мониторе не удобно все это делать. если скажите что да все верно, завтра утром проверю и отпишусь тут.
                      Attached Files
                      Last edited by Pochinok; 02-04-2025, 15:17.

                      Comment

                      • Pochinok
                        Senior Member
                        • Oct 2024
                        • 114

                        #11
                        Kos Опять же хочу выразить вам громадное спасибо, проверил я работу триггера, все работает идеально и как нужно, запустил две задачи в планировщике, сработал триггер и в дашборде показывает два значения, остановил один процесс, выражение завершил, пропал, первый работает который запустить, закрыл его, и триггер закрылся сам, то есть все работает как надо, Kos я каждый раз вас буду благодарить, уже три раза мне помогли, понимаю что все есть в документацией, но что-то она мне дается сложно, вы все на пальцах объяснили, я теперь уже понимаю что он ищет,на что ссылается и тд. спасибо вам

                        Comment

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

                          #12
                          Originally posted by Pochinok
                          Kos а вот сейчас смотрите,он триггер обновил,вроде все с нуля внимательно написал, и обновился он и не ругается, получается вот это условие верное?
                          Да, сейчас выглядит всё верно. Ну, за исключением косметики: имя и важность триггера, но это вы уже настроите по своему усмотрению.
                          Надеюсь, что выражение для значения тега (там используется макрофункция с регулярным выражением) указано верно: если всё правильно, то при старте каждого бэкапа триггер должен генерировать отдельное событие "Проблема", у которого в качестве значения тега "task" будет название этого бэкапного задания. Если это не так (и значением тега окажется какая-нибудь фигня), значит, немного промахнулись с регулярным выражением и придётся его подкорректировать.

                          Comment

                          • Pochinok
                            Senior Member
                            • Oct 2024
                            • 114

                            #13

                            Да, сейчас выглядит всё верно. Ну, за исключением косметики: имя и важность триггера, но это вы уже настроите по своему усмотрению.
                            Надеюсь, что выражение для значения тега (там используется макрофункция с регулярным выражением) указано верно: если всё правильно, то при старте каждого бэкапа триггер должен генерировать отдельное событие "Проблема", у которого в качестве значения тега "task" будет название этого бэкапного задания. Если это не так (и значением тега окажется какая-нибудь фигня), значит, немного промахнулись с регулярным выражением и придётся его подкорректировать.
                            [/QUOTE]

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

                            Comment

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

                              #14
                              Originally posted by Pochinok
                              если будут какие-то недочеты или проблемы, я могу отписаться тут уже, главное чтобы вы зашли в этот пост и обратили внимание.
                              Да, напишите тут потом - только отдельной репликой, а не комментарием к какой-то из прежних реплик.

                              Когда добавляешь в обсуждение новую реплику - вся ветка обсуждения обновляется, и на форуме сразу видно, что уже читал, а что нет (и даже можно в каждой ветке перейти на первое непрочитанное в ней сообщение, чем я обычно и пользуюсь).

                              А вот когда добавляешь комментарий к существующей реплике - этого не видно никому, если только сам туда специально не зайдёшь. Форумный движок пытается отсылать по email уведомления тому участнику, чью реплику комментируешь, но это работает крайне ненадёжно - если такое сообщение даже и доходит до почтового ящика через неделю, то частенько классифицируется как спам

                              Comment

                              • Pochinok
                                Senior Member
                                • Oct 2024
                                • 114

                                #15
                                Я вас услышал, так и сделаю тогда, по поводу уведомлений, то же с вами согласен, порой в течение 3-5 дней приходят на почту уведомления. вообщем, еще раз спасибо вам, то что вы скинули, буду сидеть и изучать, вы прям сразу поняли суть моей просьбы и с ходу написали готовое решение, так что как пройдут у меня все резервные копии я гляну поведение работы триггера, если все будет ок, то отпишусь,если не ок, отпишусь, но по тестовому запуску, его поведения меня устроило на все 100%

                                Comment

                                Working...