Ad Widget

Collapse

Комбинированный (или вложенный) snmp элемент &

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • kalyan57
    Junior Member
    • Jan 2017
    • 7

    #1

    Комбинированный (или вложенный) snmp элемент &

    Привет, уважаемые!
    Топик, возможно, не совсем точно отображает суть вопроса. Попробую объяснить.
    Мне нужно получить название интерфейса, выбранного в качестве корневого по STP - то есть название интерфейса, который сейчас ведет к корню дерева.
    Чтобы вытянуть это значение есть SNMP OID: BRIDGE-MIB::dot1dStpRootPort (он же .1.3.6.1.2.1.17.2.7.0), но значение тянется в виде числа 0,1,2...., а это числовое значение не всегда совпадает с реальным названием интерфейса, например:
    Code:
     snmpwalk -v 2c -c <snmp_connunity> <switch_IP_was_here> IF-MIB::ifDescr.6
    IF-MIB::ifDescr.6 = STRING: FastEthernet3/1
    здесь числовой идентификатор 6 указывает на интерфейс fa3/1. именно это значение нужно вытянуть и хранить в item по dot1dStpRootPort.

    Вопрос: Можно ли делать вложенные SNMP запросы вроде IF-MIB::ifDescr.(BRIDGE-MIB::dot1dStpRootPort)? Эмпирически пока доказал только невозможность таких конструкций с разными вариантами скобок... Может кто то знает как их писать синтаксически или же это действительно невозможно...сказать по честному, я даже не знаю какой запрос в гугл составить по сабжу)).
    Если вложенные SNMP запросы невозможны... можно ли в zabbix сделать вложенный item? - то есть один item вытянет числовой идентификатор, а второй item вытянет имя интерфейса по данному идентификатору (по значению item1): констракшн вида item2 (item1), где item2=ifDescr, item1=dot1dStpRootPort
    Надеюсь, описал понятно
    PS: zabbix 3.2 on centos 7

    Всем хорошего дня!
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Чисто теоретически, при работе с SNMP есть динамические индексы.
    Я, правда, не уверен, можно ли задавать там в качестве параметра "<искомая строка>" что-либо отличное от строковой константы. Т.е. можно ли там ссылаться, например, на значение другого айтема.
    Честно говоря, сильно сомневаюсь.

    С другой стороны, Вы не указали, где именно Вы хотите видеть название нужного интерфейса. В качестве значения отдельного фиксированного айтема, в качестве имени айтема либо в имени триггера, ещё где-то? Может, возможны какие-то другие варианты решения Вашей задачи.

    Comment

    • kalyan57
      Junior Member
      • Jan 2017
      • 7

      #3
      Originally posted by kos
      Вы не указали, где именно Вы хотите видеть название нужного интерфейса. В качестве значения отдельного фиксированного айтема, в качестве имени айтема либо в имени триггера, ещё где-то?
      Значение нужно именно в качестве значения айтема. Оно впринципе динамично меняется при изменениях в топологии и перестраивании дерева

      Comment

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

        #4
        Ну, тогда - в случае, если с динамическими индексами не сработает, то остаётся только через внешний скрипт, который запускать либо на сервере как external check, либо на агенте через UserParameter.

        Comment

        • kalyan57
          Junior Member
          • Jan 2017
          • 7

          #5
          Kos, я пока динамические индексы пораскуриваю, спасиб за идею)
          external check не покатит - это железки cisco, dlink..., не сервера

          Comment

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

            #6
            Originally posted by kalyan57
            external check не покатит - это железки cisco, dlink..., не сервера
            Я понимаю, что раз SNMP - то это, скорее всего, какая-то "железка". Просто скрипт-то выполняется не на ней, а на Zabbix-сервере:
            Внешняя проверка исполняется Zabbix сервером выполнением shell скрипта или бинарного файла.

            Внешние проверки не требуют на наблюдаемом узле сети какого-либо агента.

            Comment

            • kalyan57
              Junior Member
              • Jan 2017
              • 7

              #7
              Точняк, Kos, средствами bash не составит труда отпарсить результат одного snmpwalk и засунуть его в следующий...
              Спасибо, это надо переварить

              Comment

              Working...