0

我有一个带有 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 的任何数据集合。

回应评论:

$ 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$ 

谢谢!

4

2 回答 2

0

您是否有理由在 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 与数据收集无关。它用于服务轮询。

于 2016-06-16T20:35:41.910 回答
0

假设您设置了 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 代理配置。

于 2016-04-01T18:20:29.860 回答