Ad Widget

Collapse

Восстановление триггера

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • MetrS
    Member
    • Mar 2016
    • 38

    #1

    Восстановление триггера

    Всем привет!

    Можно ли восстанавливать состояние триггера в ОК через какой-либо промежуток времени?
    Есть много триггеров, которые срабатывают на событие, которое не восстанавливается (например, rdp вход в систему) - еще и формируются множественные объекты - несколько сработок. Затем все это висит вечность.
    Хочется найти такую настройку, чтобы восстанавливала отдельно взятый триггер через сутки, час, например.
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    Originally posted by metrs
    Всем привет!

    Можно ли восстанавливать состояние триггера в ОК через какой-либо промежуток времени?
    Есть много триггеров, которые срабатывают на событие, которое не восстанавливается (например, rdp вход в систему) - еще и формируются множественные объекты - несколько сработок. Затем все это висит вечность.
    Хочется найти такую настройку, чтобы восстанавливала отдельно взятый триггер через сутки, час, например.
    вы свой айтем с триггером для начала покажите

    Comment

    • Semiadmin
      Senior Member
      • Oct 2014
      • 1625

      #3
      Для этого есть функция fuzzytime (Штамп времени не отличается от времени на Zabbix сервере более чем на Т секунд...). Добавьте ее в ваш триггер через "and".

      Comment

      • MetrS
        Member
        • Mar 2016
        • 38

        #4
        Originally posted by yukra
        вы свой айтем с триггером для начала покажите
        eventlog[Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational,,,,1149,,skip]

        {RDP events Server-01:eventlog[Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational,,,,1149,,skip].str(Remote Desktop Services: User authentication succeeded}=1

        Comment

        • MetrS
          Member
          • Mar 2016
          • 38

          #5
          Originally posted by semiadmin
          Для этого есть функция fuzzytime (Штамп времени не отличается от времени на zabbix сервере более чем на Т секунд...). Добавьте ее в ваш триггер через "and".
          Почему он будет восстанавливаться?
          Создал элемент данных fuzzytime(system.localtime,65) тип: вычисляемое, триггер стал {RDP events Server-01:eventlog[Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational,,,,1149,,skip].str(Remote Desktop Services: User authentication succeeded}=1
          and
          {RDP events Server-01:system.localtime.fuzzytime.last(1)}=1

          Теперь он не срабатывает вообще. Время не отличается на серверах.
          Last edited by MetrS; 02-08-2016, 08:36.

          Comment

          • Semiadmin
            Senior Member
            • Oct 2014
            • 1625

            #6
            Я имел в виду не создание нового айтема, а добавление новой функции того же айтема в триггер.
            Правда, если айтем текстовый, то это не работает.
            Тогда можно попробовать использовать функцию nodata, но период будет, скорее всего, небольшим.

            Comment

            • MetrS
              Member
              • Mar 2016
              • 38

              #7
              Originally posted by Semiadmin
              Я имел в виду не создание нового айтема, а добавление новой функции того же айтема в триггер.
              Правда, если айтем текстовый, то это не работает.
              Тогда можно попробовать использовать функцию nodata, но период будет, скорее всего, небольшим.
              Да, айтем у меня текстовый
              nodata с текстовым айтемом?

              Comment

              • Semiadmin
                Senior Member
                • Oct 2014
                • 1625

                #8
                Ну да, это будет работать. Триггер сбросится, если в логе не будет новых записей в течение заданного периода. Или новая запись, не удовлетворяющая основному условию триггера, сбросит его еще раньше. Если записи User authentication succeeded будут появляться чаще, чем период nodata, то будет висеть.

                Comment

                • MetrS
                  Member
                  • Mar 2016
                  • 38

                  #9
                  Originally posted by Semiadmin
                  Ну да, это будет работать. Триггер сбросится, если в логе не будет новых записей в течение заданного периода. Или новая запись, не удовлетворяющая основному условию триггера, сбросит его еще раньше. Если записи User authentication succeeded будут появляться чаще, чем период nodata, то будет висеть.
                  {RDP events Server-01:eventlog[Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational,,,,1149,,skip].str(Remote Desktop Services: User authentication succeeded}=1
                  and
                  {RDP events Server-01:eventlog[Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational,,,,1149,,skip].nodata(1)}=0

                  Попробовал данный триггер, он восстановился и уже не работает триггер на вход. Если сделать nodata(1)}=1 то спамит каждую минуту о входе (хотя входа нет).

                  Comment

                  • Semiadmin
                    Senior Member
                    • Oct 2014
                    • 1625

                    #10
                    nodata(1)}=0 , т.е. 1с, это слишком жестко, попробуйте, скажем, 120, главное, чтобы больше времени обновления айтема

                    Comment

                    • MetrS
                      Member
                      • Mar 2016
                      • 38

                      #11
                      Originally posted by Semiadmin
                      nodata(1)}=0 , т.е. 1с, это слишком жестко, попробуйте, скажем, 120, главное, чтобы больше времени обновления айтема

                      Попробовал, восстанавливается через 2 минуты. За это время приходит 4 письма о проблеме. Такс. Попробую снизит до 0.5 минуты
                      nodata(30)}=0

                      Comment

                      • MetrS
                        Member
                        • Mar 2016
                        • 38

                        #12
                        Originally posted by MetrS
                        http://prntscr.com/c0ldg4
                        Попробовал, восстанавливается через 2 минуты. За это время приходит 4 письма о проблеме. Такс. Попробую снизит до 0.5 минуты
                        nodata(30)}=0
                        Все получилось http://prntscr.com/c0lfjd

                        Теперь восстанавливается очень быстро, как и надо, главное - отправляет письмо о проблеме.

                        Спасибо!

                        Comment

                        • Kermestere
                          Junior Member
                          • Jan 2020
                          • 12

                          #13
                          Подскажите как правильно создать выражение восстановления на триггер чтобы он автоматически закрывал проблему например через 5 часов?

                          Comment

                          • EugeneSemyonov
                            Junior Member
                            • Apr 2020
                            • 27

                            #14
                            Originally posted by Semiadmin
                            Для этого есть функция fuzzytime (Штамп времени не отличается от времени на Zabbix сервере более чем на Т секунд...). Добавьте ее в ваш триггер через "and".
                            Всем доброго дня.
                            Semiadmin, есть целочисленный элемент, на него настроен триггер. Есть активные проблемы по этому триггеру. Я добавил к выражению срабатывания проверку "and {Template Infobases:zabbix[ras.session.active].fuzzytime(3600)}=1". Проблемы старше часа должны автоматически закрыться по восстановлению?

                            Что-то закрылись и те которые менее часа прожили.

                            Ещё поправил триггер:
                            Он, кстати, множественный.
                            Выражение проблемы и без "and {Template:elementkey.fuzzytime(3600)}=1" через время становится Ложь, но нам нужно чтобы закрывался не сразу, значит необходимо использовать Выражение восстановления. Значит нужно не добавлять ""and {Template:elementkey.fuzzytime(3600)}=1" в выражение проблемы, а создать выражение восстановления типа: "{Template:elementkey.fuzzytime(3600)}=0", верно?

                            Кроме того вопрос по "ОК событие закрывает": "Все проблемы" или "Все проблемы если совпадают значения тегов": если указать "Все проблемы" закроются ведь и свежие проблемы, те у которых {Template:elementkey.fuzzytime(3600)} будет не равно 0?

                            Значит нужно использовать теги с меткой времени? А как это сделать?

                            Zabbix 4.4.6
                            Last edited by EugeneSemyonov; 22-10-2020, 14:56.

                            Comment

                            • EugeneSemyonov
                              Junior Member
                              • Apr 2020
                              • 27

                              #15
                              Ещё вопрос: как работает fuzzytime(), если элемент, от которого вычисляется триггер, обновляется довольно часто?

                              У меня fuzzytime() не работает - ощущение что он берёт метку времени последнего полученного элемента данных, а не того на котором сработал триггер.

                              Comment

                              Working...