首页 > 解决方案 > OpenNMS 未接收 SNMP 陷阱 - 但服务器正在接收数据包

问题描述

我在 Ubuntu 服务器上设置 OpenNMS 以侦听来自外部 EMS 的 SNMP 陷阱流并遇到问题。我可以成功接收从安装了 OpenNMS 的服务器发送的陷阱,但是 OpenNMS 看不到任何来自外部的陷阱。

起初它似乎是一个防火墙问题,但我可以通过 OpenNMS 服务器上的 Wireshark 看到传入的陷阱,因此数据包不会被丢弃。我已经为 trapd 启用了调试级别的日志记录,当我看到来自 EMS 的新陷阱出现在 Wireshark 中时,日志没有显示任何活动。我手动发送的陷阱已正确记录在 trapd 日志中并显示在 OpenNMS 仪表板中。

要么我缺少一些配置,要么这里有更深层次的防火墙/操作系统问题。以防万一,这里是我目前使用的 trapd-configuration.xml 和 snmp-config.xml。

<trapd-configuration xmlns="http://xmlns.opennms.org/xsd/config/trapd" snmp-trap-address="*" snmp-trap-port="162" new-suspect-on-trap="true" include-raw-message="false" threads="0" queue-size="10000" batch-size="1000" batch-interval="500" java.net.preferIPv4Stack="true">
    <snmpv3-user security-name="ems-username" security-level="1" engine-id="800000a10352540001e90a"/>
</trapd-configuration>

关于 trapd 配置的一些评论 - EMS 使用 SNMPv3 noAuth 模式,因此 security-level=1;添加了 java.net.preferIPv4Stack="true" 因为我发现它是另一个线程中的潜在解决方案,但此参数的存在/不存在似乎不会影响这种情况。

<snmp-config xmlns="http://xmlns.opennms.org/xsd/config/snmp" security-name="ems-username" version="v3" read-community="public" timeout="1800" retry="1" port="162">
   <definition write-community="private" port="161">
      <specific>[EMS ip]</specific>
   </definition>
</snmp-config>

将不胜感激有关如何解决此问题的任何线索。

标签: ubuntu-16.04opennms

解决方案


推荐阅读