Ad Widget

Collapse

Получение нескольких значений по OID

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Striker
    Junior Member
    • Aug 2020
    • 1

    #1

    Получение нескольких значений по OID

    Доброго дня, уважаемые!
    Помогите пожалуйста с вопросом получения нескольких значений OID по SNMP. Суть в следующем.
    Есть значения температуры проца:
    Code:
    snmpwalk -v2c -c sparc 10.10.2.110 SNMPv2-SMI::enterprises.211.1.15.4.1.1.3.2.1.13.100.0.3.0.254
    SNMPv2-SMI::enterprises.211.1.15.4.1.1.3.2.1.13.100.0.3.0 .254.0.1.0 = INTEGER: 45
    SNMPv2-SMI::enterprises.211.1.15.4.1.1.3.2.1.13.100.0.3.0 .254.0.1.1 = INTEGER: 47
    SNMPv2-SMI::enterprises.211.1.15.4.1.1.3.2.1.13.100.0.3.0 .254.0.1.2 = INTEGER: 47
    SNMPv2-SMI::enterprises.211.1.15.4.1.1.3.2.1.13.100.0.3.0 .254.0.1.3 = INTEGER: 46
    Получить одно из значений по OID я не могу
    Code:
    snmpget -v2c -c sparc 10.10.2.110 SNMPv2-SMI::enterprises.211.1.15.4.1.1.3.2.1.13.100.0.3.0.254.0.1.0
    SNMPv2-SMI::enterprises.211.1.15.4.1.1.3.2.1.13.100.0.3.0 .254.0.1.0 = No Such Instance currently exists at this OID
    zabbix, естественно тоже не может получить значения в таком виде.

    Что хотелось бы сделать, получить массив значений 45, 47, 47, 46 разделить их на 4, чтобы получить среднее значение температуры. Ну и дальше уже отслеживать в узле. Как это сделать в zabbix получить массив значений нескольких oid, либо может быть получить значения по каждому ядру. Но по каждому не получается, все значения OID в любой комбинации возвращают "No Such Instance currently exists at this OID".

    сколько мануал не читал не могу найти как осуществить такую операцию в zabbix.

  • Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    #2
    А если сделать SNMP LLD rule - удастся получить JSON с этими значениями?

    Comment

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

      #3
      Шаг первый: в качестве OID-а в настройках элемента данных в Zabbix-е указываем конструкцию:
      Code:
      discovery[{#TPROC},SNMPv2-SMI::enterprises.211.1.15.4.1.1.3.2.1.13.100.0.3.0.254]
      (лучше даже указывать чисто числовой OID, дабы не зависеть от наличия MIB-файлов: 1.3.6.1.4.1.211.1.15.4.1.1.3.2.1.13.100.0.3.0.254).
      Это приведёт к тому, что Zabbix в качестве значения такого айтема сформирует JSON, предназначенный для работы LLD. Этот JSON будет содержать значения всех найденных ниже счётчиков температуры вместе с их индексами; причём, формат этого JSON-а можно увидеть, нажимая кнопку "Test".

      Шаг второй: добавляем к данному айтему шаг препроцессинга, в котором либо с помощью Javascript-а, либо через JSONPath из всех значений вычисляем среднее.

      Comment

      Working...