pysnmp陷阱发送状态

时间:2019-04-24 06:01:10

标签: snmp pysnmp

我想验证发送的snmp陷阱消息是成功还是失败并记录下来。

所以我想知道我是否检查transportDispatcher.runDispatcher()的返回值,是否会给出任何错误代码。

还有哪些其他选择?

1 个答案:

答案 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异常。