【问题标题】:Using OpenNMS to monitor SNMP, can't see MIB data使用OpenNMS监控SNMP,看不到MIB数据
【发布时间】:2016-03-17 15:46:47
【问题描述】:

我有一个带有 oid 和事件的 MIB。 MIB 关联的设备在线。 OpenNMS 查看并收集有关设备上接口的信息,以及它正在运行的 linux 变体。

但它没有看到其他 oid(或者我无法找到/绘制它们)。

gui 报告轮询状态(托管)和包(uti_p)。 uti_p 包是

<package name="uti_p">
  <filter>IPADDR != '0.0.0.0'</filter>
  <include-range begin="10.19.0.200" end="10.19.0.210" />
  <rrd step="300">
    <rra>RRA:AVERAGE:0.5:1:2016</rra>
    <rra>RRA:AVERAGE:0.5:12:1488</rra>
    <rra>RRA:AVERAGE:0.5:288:366</rra>
    <rra>RRA:MAX:0.5:288:366</rra>
    <rra>RRA:MIN:0.5:288:366</rra>
  </rrd>
  <service name="ICMP" interval="300000" user-defined="false" status="on">
    <parameter key="retry" value="2" />
    <parameter key="timeout" value="3000" />
    <parameter key="rrd-repository" value="/var/lib/opennms/rrd/response" />
    <parameter key="rrd-base-name" value="icmp" />
    <parameter key="ds-name" value="icmp" />
  </service>
  <service name="SNMP" interval="300000" user-defined="false" status="on">
    <parameter key="retry" value="2"/>
    <parameter key="timeout" value="3000"/>
    <parameter key="port" value="161"/>
    <parameter key="oid" value=".1.3.6.1.4.1.nnnn"/>
  </service>
  <downtime interval="30000" begin="0" end="300000" />
  <downtime interval="300000" begin="300000" end="43200000" />
  <downtime interval="600000" begin="43200000" end="432000000" />
  <downtime begin="432000000" delete="true" />
</package>

我有一个收集配置

<package name="uti_p">
    <filter>IPADDR != '0.0.0.0'</filter>
    <include-range begin="10.19.0.200" end="10.19.0.210"/>
    <service name="SNMP" interval="30000" user-defined="false" status="on">
        <parameter key="collection" value="HsmLan"/>
        <parameter key="port" value="161"/>
        <parameter key="retry" value="3"/>
        <parameter key="timeout" value="3000"/>
        <parameter key="thresholding-enabled" value="true"/>
    </service>
</package>

.../rrd/snmp/{node} 目录没有显示我正在寻找的各种 oid 的任何数据集合。

回应cmets:

$ snmpwalk -v 2c -c FIPS14023 10.19.0.204 iso.3.6.1.4.1.nnnn
...
iso.3.6.1.4.1.nnnn.1.1.10.0 = INTEGER: 29
iso.3.6.1.4.1.nnnn.1.1.11.0 = STRING: "29.0"
...

即,它从 MIB 返回预期的数据。

OpenNMS中设置的Community为FIPS14023,自动发现过程找到节点。

Node    Hsm.204
Interface   10.19.0.204
Polling Status  Managed
Polling Package     uti_p
Monitor Class   org.opennms.netmgt.poller.monitors.SnmpMonitor
Service Parameters
oid     .1.3.6.1.4.1.nnnn

设备类别的申请名称正确。

我只能找到上面的字符串“29.0”应该出现的位置。据我了解,数据应该收集到 RRD db 文件中,但节点数据库 ID 永远不会出现在 /etc/opennms/rrdsnmp 目录中。

riw@riw-ubuntu-vbox:/etc/opennms/rrdsnmp$ ls
riw@riw-ubuntu-vbox:/etc/opennms/rrdsnmp$ 

谢谢!

【问题讨论】:

    标签: snmp opennms


    【解决方案1】:

    假设您已设置 SNMP v2,我将按以下方式调试 SNMP 访问:

    1. 使用 snmpwalk -v 2c -c 测试从 OpenNMS 服务器对 SNMP 代理的访问
    2. OpenNMS 将 SNMP 社区字符串与 IP 地址相关联。您可以在 Web UI 中的“Admin -> Configure OpenNMS -> Configure OpenNMS Community Names by IP Address”中验证这一点,并使用“Lookup”字段。它将显示为您的设备配置了哪个 SNMP 社区,并在必要时修复此问题。
    3. 转到节点页面并重新扫描服务器,看看是否填写了带有 IP 和物理接口的“SNMP 属性”字段。

    如果第 1 步没有为您提供完整的 SNMP 树,您必须为视图和社区修复周围的配置、IP 表或 SNMP 代理配置。

    【讨论】:

    • 1) snmpwalk 确实显示了我正在寻找的数据。 2)我已经在您命名的管理部分中修改了社区名称,但我会启动虚拟机并查看它们当前设置的内容,以防万一我更改它们,3)我将重新扫描。我将使用结果编辑原始问题。谢谢!
    【解决方案2】:

    您是否有理由在 collectd 中为 SNMP 的默认集合定义不同的集合集“HsmLan”?

    请务必在 collectd-configuration.xml 的底部包含 HsmLan 的收集服务,ala:

       <collector service="HsmLan" class-name="org.opennms.netmgt.collectd.SnmpCollector"/>
    

    如果有,您需要在 datacollection-config.xml 中定义此“snmp-collection”,并通过引用在 etc/datacollection/ 中的 xml 文件中命名的集合(具有 OID 等)的标签来包含集合

    您在顶部列出的 poller-configuration.xml 与数据收集无关。用于服务轮询。

    【讨论】:

    • 主要是因为我完全不知道这东西是如何设置的。数据不是通过默认集合收集的,所以我尝试自己收集数据——这也不起作用。但是问一个问题,实际上“默认值不起作用”会被忽略(堆栈溢出 == 显示你的工作或不期待答案......)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多