我想验证发送的snmp陷阱消息是成功还是失败并记录下来。
所以我想知道我是否检查transportDispatcher.runDispatcher()的返回值,是否会给出任何错误代码。
还有哪些其他选择?
答案 0 :(得分:0)
假设您正在使用同步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
异常。