我想验证snmp陷阱消息是成功还是失败并记录下来。
所以我想知道我是否检查transportDispatcher.runDispatcher()的返回值,是否会给出任何错误代码。
还有什么其他选择?
假设您正在使用同步hlapi API,您应该检查errorIndication
- 它将包含本地SNMP错误:
>>> from pysnmp.hlapi import *
>>> g = sendNotification(SnmpEngine(),
... CommunityData('public'),
... UdpTransportTarget(('demo.snmplabs.com', 162)),
... ContextData(),
... 'trap',
... NotificationType(ObjectIdentity('IF-MIB', 'linkDown')))
>>> next(g)
(None, 0, 0, [])
远程用户无法传送远程SNMP错误,因为它是单向交换。
此外,可能会在硬的非SNMP错误上引发PySnmpError
异常。