Welcome to Questions - Ask OpenNMS, where you can ask questions and receive answers from other members of the community.

Threshold configuration for SNMP-Informant check not working

0 votes
5,303 views

Hi,

 

I am currently facing a problem with a threshold definition which I defined to monitor a SNMP-Informant disk.

The threshold logic I configured seems not to trigger for some reason.

 

Summary:

--------

* RRD Data collection works. (I checked with JRobin).

* SNMP-Informant on the Windows box works, I get correct data with snmpwalk and MIB-Browser.

* Graphs are working.

* Threshold is enabled in collectd-configuration.xml: <parameter key="thresholding-enabled" value="true"/>

* The threshold mechanism itself works like a charm. Other default definitions like the default for hrstorage work as expected.

 

SNMP details:

-------------

The disk I want to check with a "low" threshold logic is the following:

 

snmpwalk -v2c -c community hostname.domain .1.3.6.1.4.1.9600.1.1.1.1.5.2.76.58

iso.3.6.1.4.1.9600.1.1.1.1.5.2.76.58 = Gauge32: 19

As you can see, snmpwalk gives me the correct answer, the disk is constantly 81% full or 19% free.

 

A MIB-Browser gives me the following SNMP data and path for this particular disk:

private.enterprises.wtcs.informant.standard.logicalDiskTable.logicalDiskEntry.lDiskPercentFreeSpace.2.76.58 : 19 g

 

RRD data:

---------

This is the path to the RRD data of this particular disk:

/var/lib/opennms/rrd/snmp/281/sinfLDskInstance/2.76.58

The disk is 2.76.58, the corresponding files are:

sinfLDskFreeMbytes.jrb

sinfLDskFreeMbytes.meta

The collection works via standard datacollection-config.xml which includes datacollection/microsoft.xml

which includes datacollection/snmpinformant.xml.

 

Therefore, I have two names that define the data I want to inspect: sinfLDskFreeMbyte (defined in snmpinformant.xml) and lDiskPercentFreeSpace which I find when I use the MIB-Browser. (I'm not an SNMP expert and have to admit that I do not fully understand the mechanism behind this OID and these local and remote alias definitions)

 

Threshold definition:

---------------------

This is the threshold definition which has been autocreated to thresholds.xml after I defined it via Web-GUI.

What I don't understand is that when I use a MIB browser (as in the example output above) to check the SNMP-Informant data

of the server in question, the alias names are different from the aliases defined in datacollection/snmpinformant.xml. I learned in

the one and only "OpenNMS" book that the new threshold mechanism directly checks the datastream that is collected by collectd

- which is defined in collectd-configuration.xml - instead of checking the collected RRD data. I thought that I may have to use

a different alias in the threshold definition instead of the (local) sinfLDskPctFreeSpc and therefore also tried (remote) lDiskPercentFreeSpace, but no luck.

 

As you can see, I created 2 different versions of the threshold with the 2 different alias names:

 

<group name="testgroup" rrdRepository="/var/lib/opennms/rrd/snmp/">

    <threshold description="testdesc" type="low"

        ds-type="sinfLDskInstance" value="25.0" rearm="30.0"

        trigger="1" ds-label="sinfLDskInstance"

        triggeredUEI="opennms.org/custom/diskabove80"

        filterOperator="or" ds-name="sinfLDskPctFreeSpc"/>

    <threshold description="no description" type="low"

        ds-type="node" value="25.0" rearm="30.0" trigger="1"

        ds-label="logicalDiskEntry"

        triggeredUEI="opennms.org/custom/diskabove80"

        filterOperator="or" ds-name="lDiskPercentFreeSpa"/>

</group>

 

Events:

-------

This is the autocreated event which has been written out to events/programmatic.events.xml after I configured the threshold via Web-GUI:

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<events xmlns="http://xmlns.opennms.org/xsd/eventconf">

    <event>

        <uei>opennms.org/custom/diskabove80</uei>

        <event-label>User-defined threshold event opennms.org/custom/diskabove80</event-label>

        <descr>Threshold exceeded for %service% datasource %parm[ds]% on interface %interface%, parms: %parm[all]%</descr>

        <logmsg dest="logndisplay">Threshold exceeded for %service% datasource %parm[ds]% on interface %interface%, parms: %parm[all]%</logmsg>

        <severity>Warning</severity>

    </event>

</events>

 

Questions:

----------

* Do I need to add a "Resource Filter" within the threshold definition?

* Why is there a RRD path in the threshold definition when OpenNMS will directly check the data stream instead of the RRD DB?

* Datasource (Drop-Down in threshold Web-GUI): Must the datasource be "node" or "sinfLDskInstance" (the string "sinfLDskInstance" will be autogenerated from "SNMP  Informant Logical Disk" from the dropdown in the threshold GUI. I unsuccessfully tried both.

* And the most important one: Why is my threshold definition not triggering?

 

Thanks in advance,

 

\\'.

OpenNMS version
1.12.8
Java version
1.7.0_25
Operating system
Debian 7.4 Wheezy
PostgreSQL version
9.1.13
asked Aug 14, 2014 by 23r0 (150 points)
Hey 23r0,

did Markus answer your question? If so, please mark it as answered.

Thank you.

1 Answer

0 votes
Is that question still open or was the link to in the comment helping?
answered Sep 16, 2014 by DerTak (5,420 points)
...