Ad Widget

Collapse

Триггер на число аварий

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Polkovnikiv
    Member
    • Sep 2013
    • 71

    #1

    Триггер на число аварий

    Добрый день.
    Подскажите, как создать триггер срабатывающий на превышение числа аварий оборудования из определенной группы.
    Например, недоступность (по icmp) коммутаторов из группы switch более 40 штук.
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    Попробовать использовать Aggregate checks

    Comment

    • Polkovnikiv
      Member
      • Sep 2013
      • 71

      #3
      Originally posted by Hamardaban
      Попробовать использовать Aggregate checks
      https://www.zabbix.com/documentation...ypes/aggregate
      А можно поподробнее?
      Ни разу не делал агрегированных проверок

      Comment


      • Hamardaban
        Hamardaban commented
        Editing a comment
        ну так яж привел ссылку где всё русским языком написано. даже с примерами.
    • Polkovnikiv
      Member
      • Sep 2013
      • 71

      #4
      Click image for larger version

Name:	FireShot Capture 013 - zabbix_ Настройка триггеров.png
Views:	96
Size:	68.5 KB
ID:	420890

      Comment

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

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

        Comment

        • Polkovnikiv
          Member
          • Sep 2013
          • 71

          #6
          Originally posted by Kos
          У вас уже есть тот агрегированный элемент данных, который Вы пытаетесь использовать в триггере?
          У нас есть группа "!!!Цифровая экономика", в которую входит несколько устройств. Больше как бы ничего.

          Comment

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

            #7
            Ну так чтобы сделать триггер, нужно сначала создать элемент данных, который в этом триггере будет использоваться.
            Насколько я понял коллегу Hamardaban, он предлагал создать элемент данных с типом "агрегированная проверка". Тогда после этого можно будет на этот элемент данных навесить нужный триггер.

            Comment


            • Hamardaban
              Hamardaban commented
              Editing a comment
              да, именно так.
          • Polkovnikiv
            Member
            • Sep 2013
            • 71

            #8
            Прошу не закидывать тапками, но я правильно создал групповой элемент?
            grpsum["!!!Цифровая экономика","icmpping[].max(#1)=0",count,1m]
            Повторюсь, что необходима сигнализация о превышении числа аварий в группе "Цифровая экономика" более 40.

            Comment

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

              #9
              Originally posted by Polkovnikiv
              Прошу не закидывать тапками, но я правильно создал групповой элемент?
              Вы смотрели обе ссылки, которые вам предложили?

              Можно сделать, например, так:
              Code:
              grpsum["!!!Цифровая экономика","icmpping[]",max,5m]
                      ^^^^^^^^^^^^^^^^^^^^^   ^^^^^^^^^^  ^^^ ^^
              группа-------------^                ^        ^  ^
              item key----------------------------^        ^  ^
              itemfunc-------------------------------------^  ^
              timeperiod--------------------------------------^
              Смысл получится следующий: количество хостов, на которых за последние 5 минут хоть один пинг был успешным.
              Это не совсем то, что требуется "в лоб" по условию задачи; но дальше в триггере это количество можно сравнивать с общим количеством хостов в группе (которое вам, наверное, известно заранее - его можно указать в триггере явно либо через пользовательский макрос). Если это значение отличается от количества хостов в группе более чем на 40 - то сигнализировать серьёзную проблему.

              Comment

              • Polkovnikiv
                Member
                • Sep 2013
                • 71

                #10
                Originally posted by Kos
                Вы смотрели обе ссылки, которые вам предложили?

                Можно сделать, например, так:
                Code:
                grpsum["!!!Цифровая экономика","icmpping[]",max,5m]
                ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^
                группа-------------^ ^ ^ ^
                item key----------------------------^ ^ ^
                itemfunc-------------------------------------^ ^
                timeperiod--------------------------------------^
                Смысл получится следующий: количество хостов, на которых за последние 5 минут хоть один пинг был успешным.
                Это не совсем то, что требуется "в лоб" по условию задачи; но дальше в триггере это количество можно сравнивать с общим количеством хостов в группе (которое вам, наверное, известно заранее - его можно указать в триггере явно либо через пользовательский макрос). Если это значение отличается от количества хостов в группе более чем на 40 - то сигнализировать серьёзную проблему.
                Кол-во хостов постоянно увеличивается и заранее не известно.
                А "в лоб" подсчитать неудачные пинги в группе нельзя?

                Comment

                • Semiadmin
                  Senior Member
                  • Oct 2014
                  • 1625

                  #11
                  Можно сделать зависимый от icmpping айтем с инвертированным в препроцессинге значением (т.е. получать 0 вместо 1 и наоборот). Хотя можно и у оригинального icmpping значение в препроцессинге инвертировать. Если же этого не делать и считать хосты в группе, то это возможно через grpsum["!!!Цифровая экономика","icmpping[]",count,1m]

                  Comment

                  • Polkovnikiv
                    Member
                    • Sep 2013
                    • 71

                    #12
                    Originally posted by Semiadmin
                    Можно сделать зависимый от icmpping айтем с инвертированным в препроцессинге значением (т.е. получать 0 вместо 1 и наоборот). Хотя можно и у оригинального icmpping значение в препроцессинге инвертировать. Если же этого не делать и считать хосты в группе, то это возможно через grpsum["!!!Цифровая экономика","icmpping[]",count,1m]
                    А каким образом можно инвертировать значение icmpping[] ? Как в этом слУчае будет выглядеть элемент данных?

                    Comment


                    • Semiadmin
                      Semiadmin commented
                      Editing a comment
                      В препроцессинге, проще всего через JS
                  • Polkovnikiv
                    Member
                    • Sep 2013
                    • 71

                    #13
                      • В препроцессинге, проще всего через JS

                    Для меня это "тёмный лес"

                    Comment

                    • Semiadmin
                      Senior Member
                      • Oct 2014
                      • 1625

                      #14
                      Preprocessing: Java Script: if (value == 0) {return(1)} else {return(0)}

                      Comment


                      • Kos
                        Kos commented
                        Editing a comment
                        Ещё вариант:
                        Code:
                        return (1 - value);
                        Кто ещё короче и элегантнее? ;-)

                      • Hamardaban
                        Hamardaban commented
                        Editing a comment
                        return value ^= 1;

                      • Semiadmin
                        Semiadmin commented
                        Editing a comment
                        вообще без JS:
                        Code:
                        (\d)                            1\1
                        (1)0|11                       0\1
                        Last edited by Semiadmin; 22-03-2021, 22:03.
                    Working...