Ad Widget

Collapse

Не стандартная постобработка в zabbix 3.4

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sgaponen
    Junior Member
    • Dec 2014
    • 5

    #1

    Не стандартная постобработка в zabbix 3.4

    Добрый день.
    Есть необходимость получать по SNMP данные с устройства. Устройство настроено и передает данные HEX строкой, в которой закодировано несколько разных данных. Данные выглядят следующим образом:
    Code:
    00 00 AF A4 00 00 6B 38 01 00 00 00 00 00 09 EE 
    00 00 01 1D 00 00 7F E8 00 00 00 00 00 00 00 00
    отдельные байты относятся к отдельным переменным:
    Code:
    Знак Value1= Bite0 (01 - отрицательное, 00 - положительное)
    Value1 = (Bite1..Bite3)/1000 (0x00AFA4/1000.=44.964)
    Value1 = 44.964
    Знак Value2= Bite8 (01 - отрицательное, 00 - положительное)
    Value2 = (Bite9..Bite15)/100 (0x000000000009EE/100.= 25.42)
    Value2 = -25.42
    и т.д.
    Как правильно завести эти переменные в zabbix? Может как-то можно через постобработку regexp?
  • Evgeniy
    Senior Member
    • May 2012
    • 157

    #2
    Внешним скриптом. Если бы не знак значения, то можно было бы попробовать через предобработку.

    Comment

    • sgaponen
      Junior Member
      • Dec 2014
      • 5

      #3
      Originally posted by Evgeniy
      Внешним скриптом. Если бы не знак значения, то можно было бы попробовать через предобработку.
      Тоже подумал что прийдется внешним скриптом, а данные передавать zabbix_sender.
      В принципе знаки переменных чаще всего неизменны. Как тогда получить значения в постобработке? Я просто в постобработке не силён, а примеров в документации не много.

      Comment

      • Evgeniy
        Senior Member
        • May 2012
        • 157

        #4
        1) Разделить значения по разным элементам данных. Тут посоветую посмотреть примеры текстового редактора sed.
        Например, упрощенно для первого значения:
        echo "00 00 AF A4 00 00 6B 38 01 00 00 00 00 00 09 EE" | sed 's/^...\(........\).*/\1/'
        00 AF A4
        В предобработке будет что-то типа:
        ^...(........).* \1
        2) HEX to DEC (вряд ли заббикс переварит пробелы, ну а вдруг...)
        3) *0.001

        Comment

        Working...