Я сконфигурированных компилятор, где искать ASN1 MIBs следующим образом:PySNMP - по умолчанию местоположение скомпилированных MIBs
compiler.addMibCompiler(mibBuilder, sources=['/usr/share/snmp/mibs'])
Затем используется getCmd() как:
errorIndication, errorStatus, errorIndex, varBinds = next( getCmd(SnmpEngine(), CommunityData('private', mpModel=0), UdpTransportTarget(('192.168.56.20', '161')), ContextData(), ObjectType(ObjectIdentity('VLAN-MIB','InterfaceMode',3))))
Я нахожу VLAN-MIB.py в
$HOME/.pysnmp/mibs
, и все работает нормально.
Но я хотел изменить расположение MINs asn1 в свою локальную папку. Скажи:
/home/krish/mibs
Я пробовал 2 различными способами:
Это:
compiler.addMibCompiler(mibBuilder, sources=['/home/krish/mibs'])`
Это:
errorIndication, errorStatus, errorIndex, varBinds = next( getCmd(SnmpEngine(), CommunityData('private', mpModel=0), UdpTransportTarget(('192.168.56.20', '161')), ContextData(), ObjectType(ObjectIdentity('VLAN-MIB','InterfaceMode',3).addAsn1MibSource('/home/krish/mibs'))) )
В любом случае, я получаю ошибку, в которой говорится, что VLAN-MIB не найден.
Но если я скомпилировать его сам в автономном режиме и поместить VLAN-MIB.py файл в указанной директории как:
errorIndication, errorStatus, errorIndex, varBinds = next(
getCmd(SnmpEngine(),
CommunityData('private', mpModel=0),
UdpTransportTarget(('192.168.56.20', '161')),
ContextData(),
ObjectType(ObjectIdentity('VLAN-MIB','InterfaceMode',3).addMibSource('/home/krish/mibs')))
)
он работал отлично.
Итак, мой вопрос заключается в том, где скомпилированные MIB (.py) размещаются после того, как PySMI автоматически анализирует MIB-адреса asn1? Я не нашел их по умолчанию $HOME/.pysnmp/mibs
в приведенном выше случае.
и как сообщить pysnmp/pysmi, где сохранить автоматически сгенерированный файл .py.
и я не хочу использовать addMibSource()
в каждом вызове get/set. addMibCompiler()
работал отлично только для/usr/share/snmp/mibs, а не для пользовательских каталогов.
Подумайте, что мне здесь не хватает. Цените помощь.
Пожалуйста, укажите версию pysnmp вы используете? –
pysnmp version 4.3.2 – krish