Ad Widget

Collapse

Trigger при достижении процента от скорости КПД оператора.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zenetw
    Junior Member
    • Oct 2024
    • 16

    #1

    Trigger при достижении процента от скорости КПД оператора.

    Коллеги, всем доброго времени суток!
    Я в Zabbix'е практически нуб. Получил в администрирование уже настроенный сервер не последней версии с уже заведённой на нём Cisco ASA. Необходимо создать кастомный триггер, который будет срабатывать при достижении процента от пропускной способносты канала передачи данных, предоставляемого провайдером. Например, порт может быть гигабит, а оператор даёт ну допустим 300мбс. В темплейтах нашёл триггер, который считает пропускную способность, но там идёт расчёт от физической пропускной способности порта и просто при значении 0.7 срабатывает problem, а при 0.67 срабатывает recovery.
    Коллеги, поделитесь опытом, кто решал подобную задачу или знает как это сделать. Заранее спасибо!
  • Alex_UUU
    Senior Member
    • Dec 2018
    • 541

    #2
    Задача 1: получить текущую нагрузку. Если такой итем есть, то в триггере сравнивать с числом, которое выдает провайдер.

    Comment

    • zenetw
      Junior Member
      • Oct 2024
      • 16

      #3
      Ну вот допустим скорость от оператора 300мб/с, 70% от неё 210мб/с. Интересующий интерфейс имеет номер 17.
      Таким образом пробую следующее выражение:
      problem:
      Code:
      {$hostname:net.if.in[ifHCInOctets.17].last(0)}>210 or
      {$hostname:net.if.out[ifHCOutOctets.17].last(0)}>210
      recovery:
      Code:
      {$hostname:net.if.in[ifHCInOctets.17].last(0)}<201 or
      {$hostname:net.if.out[ifHCOutOctets.17].last(0)}<201
      Однако должным образом не отрабатывает, сразу скидывает в состояние problem и так остаётся.
      Zabbix 5ой версии.

      Так же пробовал смотреть через snmpwalk ковырять необходимые мне OID'ы, почему-то возвращает, что value 0.​​
      1.3.6.1.2.1.31.1.1.1.6. ifHCInOctets
      1.3.6.1.2.1.31.1.1.1.10. ifHCOutOctets

      Comment

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

        #4
        Originally posted by zenetw
        Однако должным образом не отрабатывает, сразу скидывает в состояние problem и так остаётся.
        1) в Recovery выражении нужно заменить "or" на "and".
        2) наверное, у вас этот элемент данных возвращает байты или биты в секунду (см. предобработку, есть ли там пользовательский множитель), а в выражении вы сравниваете с мегабитами в секунду.

        Comment

        • zenetw
          Junior Member
          • Oct 2024
          • 16

          #5
          Originally posted by Kos
          1) в Recovery выражении нужно заменить "or" на "and".
          Логично, спасибо)

          Originally posted by Kos
          2) наверное, у вас этот элемент данных возвращает байты или биты в секунду (см. предобработку, есть ли там пользовательский множитель), а в выражении вы сравниваете с мегабитами в секунду.
          Посмотрел внимательнее snmpwalk, всё-таки возвращает данные и оказалось, что в битах, перевёл, понаблюдаю, но вроде бы всё ок, спасибо)

          Comment

          • zenetw
            Junior Member
            • Oct 2024
            • 16

            #6
            Всё-таки по факту не работает, при достижении скорости триггер не срабатывает.

            Comment

            • Alex_UUU
              Senior Member
              • Dec 2018
              • 541

              #7
              Я бы привел тут табличку значений, чтобы не дергать сферического коня в вакууме.

              Comment

              • zenetw
                Junior Member
                • Oct 2024
                • 16

                #8
                Code:
                {$hostname:net.if.in[ifHCInOctets.17].last(0)}>52428800 or
                {$hostname:net.if.out[ifHCOutOctets.17].last(0)}>52428800
                Где условием подразумевается достижение 50мбс.
                В итоге ушёл на обед, а по возвращении вернулся и обнаружил, что триггер таки сработал. Похоже, какие-то лаги, т.к. в канале была явно выше загрузка на момент создания триггера. Извиняюсь за беспокойство.

                Comment

                • zenetw
                  Junior Member
                  • Oct 2024
                  • 16

                  #9
                  Коллеги, добрый день!
                  В прошлый раз настраивал триггер для Zabbix 5.

                  Сейчас переехали на Zabbix 7 и возникла необходимость перенести триггер, срабатывающий при достижении скорости. Ранее была рабочая версия:
                  Code:
                  Problem expression:
                  {hostname:net.if.in[ifHCInOctets.17].last(0)}>2936012800 or
                  {hostname:net.if.out[ifHCOutOctets.17].last(0)}>2936012800
                  Code:
                  Recovery expression:
                  {hostname:net.if.in[ifHCInOctets.17].last(0)}<2810183680 and
                  {hostname:net.if.out[ifHCOutOctets.17].last(0)}<2810183680
                  Однако новый заббикс такой синтаксис не принимает.
                  Подскажите, как исправить для 7 версии.

                  Comment

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

                    #10
                    Originally posted by zenetw
                    Коллеги, добрый день!
                    В прошлый раз настраивал триггер для Zabbix 5.

                    Сейчас переехали на Zabbix 7 и возникла необходимость перенести триггер, срабатывающий при достижении скорости. Ранее была рабочая версия:
                    Code:
                    Problem expression:
                    {hostname:net.if.in[ifHCInOctets.17].last(0)}>2936012800 or
                    {hostname:net.if.out[ifHCOutOctets.17].last(0)}>2936012800
                    Code:
                    Recovery expression:
                    {hostname:net.if.in[ifHCInOctets.17].last(0)}<2810183680 and
                    {hostname:net.if.out[ifHCOutOctets.17].last(0)}<2810183680
                    Однако новый заббикс такой синтаксис не принимает.
                    Подскажите, как исправить для 7 версии.
                    Синтаксис триггерных выражений изменился, начиная с версии 5.4 (ссылка).
                    Code:
                    Problem expression:
                    last(/hostname/net.if.in[ifHCInOctets.17])>2936012800 or
                    last(/hostname/net.if.out[ifHCOutOctets.17])>2936012800
                    Code:
                    Recovery expression:
                    last(/hostname/net.if.in[ifHCInOctets.17])<2810183680 and
                    last(/hostname/net.if.out[ifHCOutOctets.17])<2810183680

                    Comment

                    • zenetw
                      Junior Member
                      • Oct 2024
                      • 16

                      #11
                      Спасибо!
                      Правда оказалось в итоге, что айтемов нужных нет, по этому всё равно не работает( Нигде не могу найти темлейты под 7 заббикс для Cisco ASA.
                      На официальном сайте есть для ASAv, но с ним не работает, т.к. это виртуальная ASA.
                      Нашёл пару темплейтов для 6ого заббикса в неофициальных источниках, но там тоже никаких discovery интерфейсов нет.

                      Comment

                      Working...