Ad Widget

Collapse

Тип переменной {#snmpvalue}

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • local
    Junior Member
    • Sep 2014
    • 6

    #1

    Тип переменной {#snmpvalue}

    Привет все.
    Пишу шаблон для опроса через LLD по SNMP список процессоров на циске.

    Руками все нормально, получаю список вот такого вида:
    [@zabbix]# snmpwalk -v2c -c public 192.168.100.2 .1.3.6.1.4.1.9.9.109.1.1.1.1.2
    SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.2.1 = INTEGER: 3017
    SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.2.2 = INTEGER: 3001
    SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.2.3 = INTEGER: 2009
    SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.2.5 = INTEGER: 1007
    SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.2.6 = INTEGER: 4007

    Чтобы получить имя процессора нужно запросить OID типа:

    [@zabbix]# snmpwalk -v2c -c public 192.168.100.2 ENTITY-MIB::entPhysicalName.2009
    ENTITY-MIB::entPhysicalName.2009 = STRING: CPU of Sub-Module 6 CFC Card

    Однако в заббиксе SNMPVALUE сохраняется как 2009.000000 и, соответственно, получается некорректный запрос вида GetResponse(285) ENTITY-MIB::entPhysicalName.2009.0=[noSuchInstance]

    Как исправить и в какую сторону копать?
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    Originally posted by local
    Как исправить и в какую сторону копать?
    Тип информации в настройках айтема поменяйте на "Целый положительный".

    Comment

    • local
      Junior Member
      • Sep 2014
      • 6

      #3
      Спасибо за ответ.
      Но проблема в том, что это ещё не item prototypes.
      Эти значения (snmpindex/snmpvalue) я получаю через Discovery rules, и потом уже эти значения использую в item prototypes.
      А в Discovery rule нельзя задать тип.

      Comment

      • Jimson
        Senior Member
        • Jan 2008
        • 1327

        #4
        Понятно в чем проблема, но не понятно как выглядит ваш lld и какую проблему вы им решаете. Что бы получить статистику по многопроцессорной циске действительно нужно сделать два поиска по индексам, а не один, я бы не задумываясь сделал это скриптовым правилом дискаверинга.
        В чем смысл вытаскивать имена процессоров не имея при этом возможность собрать по ним статистику не очень понятно.

        Comment

        • local
          Junior Member
          • Sep 2014
          • 6

          #5
          Статистику я собираю без проблем
          Просто хотелось бы еще видеть что это за процессор
          По задумке в latest data дол;но было видно имя процессора (CPU of Sub-Module 6 CFC Card) и его загрузку %

          По мне очень странно, что получаемый по SNMP int value преобразуется во что-то другое (2009 -> 2009.000000)

          ЗЫ заббикс 2,4

          Comment

          • Jimson
            Senior Member
            • Jan 2008
            • 1327

            #6
            В принципе эта проблема вполне тянет на реппорт, но надо описать подробно пример:
            This document describes how to collect CPU utilization on Cisco IOS® devices that use Simple Network Management Protocol (SNMP).


            Не уверен что zabbix анализирует SNMP тип данных, раньше он его вообще игнорировал и пытался привести значение к типу элемента данных, а в данном случае элемента данных нет и следовательно в какой тип приводить не понятно.

            В качестве workaround я бы сделал небольшой скрипт, который просканирует 1.3.6.1.4.1.9.9.109.1.1.1.1.2, затем для каждого значения physicalindex получит entPhysicalName и вернет json c индексом и названием процессора. Останется проблема связанная с невменяемыми названиями процессоров, но в случае со скриптом опять же будет возможность "подкостылить".

            Comment

            Working...