Ad Widget

Collapse

Zabbix и преобразование значения по условию

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • kappa_test
    Junior Member
    • Jan 2023
    • 10

    #1

    Zabbix и преобразование значения по условию

    Всем привет!

    Устройство возвращает по SNMP количество ошибок в таком виде: "5 active alarms" - если ошибки есть (число - это кол-во ошибок) и "No active alarms" если их нет. Как передать в триггер 0, если значение "No active alarms" и число 5 если "5 active alarms"?



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

    #2
    "Возвращает по SNMP" - это в ответ на запрос, или же шлёт трап?
    И что значит "передать в триггер"?
    Вы можете сделать предобработку значения элемента данных, если это надо.
    Например, добавить шаг предобработки, где при помощи регулярного выражения "(\d+)\D*" -> "\1" выдергивать из всей строки только находящееся в её начале число, и отметить галочку "Другое при ошибке​" ("Custom on fail​"), выставляя там ноль в случае отсутствия числа в исходной строке.

    Comment

    • kappa_test
      Junior Member
      • Jan 2023
      • 10

      #3
      Originally posted by Kos
      "Возвращает по SNMP" - это в ответ на запрос, или же шлёт трап?
      И что значит "передать в триггер"?
      Вы можете сделать предобработку значения элемента данных, если это надо.
      Например, добавить шаг предобработки, где при помощи регулярного выражения "(\d+)\D*" -> "\1" выдергивать из всей строки только находящееся в её начале число, и отметить галочку "Другое при ошибке​" ("Custom on fail​"), выставляя там ноль в случае отсутствия числа в исходной строке.
      Это ответ на SNMP запрос. При помощи регулярки я уже пробовал получать кол-во ошибок. В случае если ответ например такой - "5 active alarms" (когда есть ошибки на устройстве). Регулярка вида "\w+ active alarms" получала цифру 5, а триггер сравнивал ее с другой цифрой (типа максимальный порог ошибок). Проблема возникает тогда, когда ответ такого вида "No active alarms" (нет ошибок на устройстве). В этом случае регулярка вырезает "No", а триггер пытается сравнить "No" с цифрой и выдает ошибку естественно. Вот как бы "No" заменить на 0? Что бы триггер корректно сравнивал.

      Comment

      • kappa_test
        Junior Member
        • Jan 2023
        • 10

        #4
        Спасибо за наводку, посмотрю завтра.

        Comment

        • kappa_test
          Junior Member
          • Jan 2023
          • 10

          #5
          Спасибо! Заработало)

          Comment

          Working...