0

在此先感谢您的帮助。

问题:无法在 udp 162 端口上接收 snmp 陷阱。场景:试图在 OpenNMS 中放置一个 nexus 5672 进行监控

已完成预检查:

  1. 我可以从安装了 OpenNMS 的 linux 节点中 snmpwalk 连接 5k。
  2. 我什至可以做 snmpgets。
  3. 我在 udp 161 上看到了 snmp 流量,但它们主要是因为 opennms 正在执行的 snmp-get。
  4. 当我在 162 端口上执行 TCPDUMP 时,什么都看不到 :(

我检查了是否在本地设置了任何 ACL,但它们没有,作为服务的 iptables 已停止。

我已验证 snmp-configs 已正确推送。

配置在环回接口上推送,nexus 5k 上也没有 acl-groups,nexus 5k 和 OpenNMS 托管 Linux 系统之间没有防火墙

请帮忙,我不知道我错过了什么。

4

2 回答 2

1

好的,首先,SNMP 有两个概念,第一个是轮询数据以从传感器获取数据或从设备中发现元素。监控应用程序向您的 Nexus 设备发送请求。这就是您发出snmpwalkorsnmpget命令时所做的事情。Nexus 设备有一个正在运行的 SNMP 代理,它正在侦听端口 161/UDP。第二个是,您的 Nexus 设备可以向您的监控应用程序发送消息。使用 OpenNMS 的监控应用程序需要在端口 162/UDP 上运行一个侦听器,称为SNMP TrapsSNMP Informs

因此,尝试使用 snmpget 或 snmpwalk 调试未获取SNMP 陷阱的问题首先无济于事。通信由 Nexus 设备初始化,OpenNMS 是陷阱的侦听器。

我会尝试通过以下步骤调试问题:

  • 确保 OpenNMS 已启用 Trapd 并正在侦听正确的接口,例如使用ss -lnpu sport = :162
  • 确保您的 OpenNMS 服务器上没有防火墙阻止到 162/UDP 的流量,例如iptables -L
  • 使用 tcpdump 查看来自 Nexus 的 SNMP 陷阱是否到达 OpenNMS 服务器,方法是查看使用 UDP 协议的目标端口 162 的流量。
  • 如果您从 OpenNMS 服务器收到 SNMP 陷阱,则可以开始查看 OpenNMS 服务器的 trapd.log 并验证 IP 的社区设置是否正确。OpenNMS 将使用为发送者 IP 地址配置的社区来处理陷阱

希望这会有所帮助

于 2018-06-05T13:21:18.163 回答
0

这得到了解决。Linux 端和 OpenNMS SNMP 端的一切都很好。但是,网络设备错误地推送了 SNMP 配置。我将其更改为使用默认 VRF 而不是环回地址,它开始工作。

于 2018-06-20T23:30:22.133 回答