Ad Widget

Collapse

Получить элементы данных с переменного SNMP oid

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • wzn
    Junior Member
    • Feb 2019
    • 5

    #1

    Получить элементы данных с переменного SNMP oid

    Имеется oid который вида
    iso.3.6.1.2.1.4.19.0 = Counter32: 0
    iso.3.6.1.2.1.4.20.1.1.10.10.10.251 = IpAddress: 10.10.10.251
    iso.3.6.1.2.1.4.20.1.2.10.10.10.251 = INTEGER: 1
    iso.3.6.1.2.1.4.20.1.3.10.10.10.251 = IpAddress: 255.255.255.0
    iso.3.6.1.2.1.4.20.1.4.10.10.10.251 = INTEGER: 1
    iso.3.6.1.2.1.4.20.1.5.10.10.10.251 = INTEGER: 65535
    iso.3.6.1.2.1.4.21.1.7.0.0.0.0 = IpAddress: 10.10.10.1
    iso.3.6.1.2.1.5.1.0 = Counter32: 0
    Не пойму как получить значение данных iso.3.6.1.2.1.4.20.1.1.10.10.10.251 что бы шаблон работал на всех устройствах. получается что если ip меняется то и oid другой, читал в инструкции Обнаружение SNMP OID'ов, как я понял там должен быть главный oid в моем случае типа iso.3.6.1.2.1.4.20.1.0 что бы по нему находился индекс входящих в него дочерних OID. Как в таких случаях как на этом принтере искать не пойму.
  • Victor Vislobokov
    Senior Member
    • Aug 2018
    • 298

    #2
    А если использовать в ключе макрос: {HOST.IP}? ну типа: "iso.3.6.1.2.1.4.20.{HOST.IP}"

    Comment

    • wzn
      Junior Member
      • Feb 2019
      • 5

      #3
      Как я понимаю нужно сначала сделать в шаблоне правило обнаружения, то есть создать поиск по snmp значения iso.3.6.1.2.1.4.20.1.1 как полагаю discovery{#HOST.IP},1.3.6.1.2.1.4.20.1.1] а потом уже в ключе элемента данных использовать как вы написали 1.3.6.1.2.1.4.20.{#HOST.IP}. Но это не работает так как 1.3.6.1.2.1.4.20.1.1 не выдает данных. Если брать пример из документации
      $ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifDescr IF-MIB::ifDescr.1 = STRING: WAN IF-MIB::ifDescr.2 = STRING: LAN1 IF-MIB::ifDescr.3 = STRING: LAN2 строка IF-MIB::ifDescr выдает несколько значений. У меня же нет такого. Полагаю что надо произвести поиск по snmp значения iso.3.6.1.2.1.4.20.1.1. и при нахождении совпадения как то взять полную строку iso.3.6.1.2.1.4.20.1.1.10.10.10.251 и записать ее в макрос. Но не представляю как это сделать.

      Comment

      • Evgeniy
        Senior Member
        • May 2012
        • 157

        #4
        Динамические индексы пробовали?

        Comment

        • Semiadmin
          Senior Member
          • Oct 2014
          • 1625

          #5
          Если искомый ip совпадает с тем, что указан в поле SNMP interfaces хоста, то можно попробовать внутреннее LLD zabbix[host,discovery,interfaces], и в нем прототип айтема с OID вроде iso.3.6.1.2.1.4.20.1.1.{#IF.IP}. А в ключ прототипа этот макрос не ставить, чтобы при смене ip история не прерывалась.

          Comment

          • wzn
            Junior Member
            • Feb 2019
            • 5

            #6
            Originally posted by Evgeniy
            Динамические индексы пробовали?
            https://www.zabbix.com/documentation...p/dynamicindex
            Как я понял динамические индексы здесь не подходят По формуле <OID данных>["index","<базовый OID индекса>","<искомая строка>"] происходит поиск заведомо известной строки вы выдаче OID и по нему подставляется в индекс динамическое значение OID. У меня же не известна строка она схожа с о значением искомого индекса.

            Comment

            • Evgeniy
              Senior Member
              • May 2012
              • 157

              #7
              Originally posted by wzn

              Как я понял динамические индексы здесь не подходят По формуле <OID данных>["index","<базовый OID индекса>","<искомая строка>"] происходит поиск заведомо известной строки вы выдаче OID и по нему подставляется в индекс динамическое значение OID. У меня же не известна строка она схожа с о значением искомого индекса.
              Сам не пробовал, но почему бы не взять эту для индекса. Предполагаю, что значение у нее всегда 1.
              iso.3.6.1.2.1.4.20.1.2.10.10.10.251 = INTEGER: 1
              В итоге что-то типа :
              Code:
              iso.3.6.1.2.1.4.20.1.1["index","iso.3.6.1.2.1.4.20.1.2","1"]
              Last edited by Evgeniy; 10-04-2019, 12:29.

              Comment

              • max.ch.88
                Senior Member
                • Oct 2018
                • 206

                #8
                При смене IP поменяется и весь OID. Ключ iso.3.6.1.2.1.4.20.1.2.10.10.10.251 просто перестанет существовать.
                wzn,что именно нужно получить от устройства? Сомневаюсь, что его IP. Можете дать больше информации по задаче?

                Comment

                • wzn
                  Junior Member
                  • Feb 2019
                  • 5

                  #9
                  Originally posted by Evgeniy
                  Сам не пробовал, но почему бы не взять эту для индекса. Предполагаю, что значение у нее всегда 1.


                  В итоге что-то типа :
                  Code:
                  iso.3.6.1.2.1.4.20.1.1["index","iso.3.6.1.2.1.4.20.1.2","1"]
                  А действительно 1 то у нас постоянна, я надеюсь что она не будет меняться в будущем. Так вообще шикарно работает. B и маску тоже выводит iso.3.6.1.2.1.4.20.1.3["index","iso.3.6.1.2.1.4.20.1.2","1"]

                  Comment

                  • wzn
                    Junior Member
                    • Feb 2019
                    • 5

                    #10
                    Originally posted by max.ch.88
                    При смене IP поменяется и весь OID. Ключ iso.3.6.1.2.1.4.20.1.2.10.10.10.251 просто перестанет существовать.
                    wzn,что именно нужно получить от устройства? Сомневаюсь, что его IP. Можете дать больше информации по задаче?
                    Весь измениться? Мне кажется только суффикс .10.10.10.251. Вариант от Евгения простой и лаконичный.

                    Comment

                    Working...