pysnmp setCmd не отображает объект, но не содержит ошибок - PullRequest
0 голосов
/ 01 апреля 2019

Я новичок в SNMP и pysnmp. Я написал небольшой фрагмент кода, чтобы установить несколько значений для нескольких MIB, но, похоже, он не работает. OID, которые я использую, работали в старом Perl-скрипте, который мы больше не используем, поэтому я знаю, что у меня есть подходящие.

Чего мне не хватает? У меня больше нет волос, чтобы вырвать! :) 19

Пример кода:

#!/usr/local/bin/python2.7

from pysnmp.hlapi import * # For SNMP

errorIndication, errorStatus, errorIndex, varBinds = next(
      setCmd(SnmpEngine(),
             CommunityData("myCommunity", mpModel=1),
             UdpTransportTarget(("remotedevice.com",161)),
             ContextData(),
             ObjectType(ObjectIdentity(".1.3.6.1.4.1.4115.1.8.1.10.5.1.0"), Integer(3)) ,
             ObjectType(ObjectIdentity(".1.3.6.1.4.1.4115.1.8.1.10.5.2.0"), OctetString("192.168.1.1")) ,
             ObjectType(ObjectIdentity(".1.3.6.1.4.1.4115.1.8.1.10.5.3.0"), OctetString("backup")) ,
             ObjectType(ObjectIdentity(".1.3.6.1.4.1.4115.1.8.1.10.5.6.0"), Integer(3)) )
)

print(errorIndication)
print(errorStatus)
print(errorIndex)
for bind in varBinds:
    print(bind)

выход:

None
0
0
SNMPv2-SMI::enterprises.4115.1.8.1.10.5.1.0 = 3
SNMPv2-SMI::enterprises.4115.1.8.1.10.5.2.0 = 192.168.1.1
SNMPv2-SMI::enterprises.4115.1.8.1.10.5.3.0 = backup
SNMPv2-SMI::enterprises.4115.1.8.1.10.5.6.0 = 3

1 Ответ

0 голосов
/ 01 апреля 2019

Похоже, команда SET действительно выполнена успешно.Вывод, который вы получаете, - это то, что сообщил ваш SNMP-агент @ remotedevice.com.Так что это должны быть новые значения для этих OID.

Что заставляет вас думать, что запрос не сработал?Может ли это быть одновременно запущенный SNMP-менеджер, сбрасывающий значения обратно?Просто дикая мысль ...

Кстати, mpModel=1 означает версию 2c SNMP.На всякий случай, если ваш агент SNMP предпочитает любую другую версию SNMP.

...