RRD files for SNMP data are not created until a Service Restart

Description

In a brand new OpenNMS installation, after provisioning a device using a Provisioning Requisition and synchronizing it, RRD files for SNMP data are not created until I restart the OpenNMS service. Upon restarting the service, the RRD files are inmediately created and begin storing data correctly (thus indicating the SNMP collection works just fine).

This happens with both RRD strategies (JRobin or JNI) and with all devices (Cisco, Juniper, Linux Servers, etc).

If instead of manually adding a device to a requisition and synchronizing it, I add a device through discovery providing a specific IP address and select such requisition, the RRD files for this new device are inmediately created.

Environment

Debian 10

Acceptance / Success Criteria

None

Attachments

2

related to

Lucidchart Diagrams

Activity

Show:

Chandra Gorantla November 20, 2020 at 3:23 PM

Chandra Gorantla November 16, 2020 at 3:39 PM

Further debugging shows that when we synchronize requisition with yes option, node is scanned immediately for system info on the primary interface. All the snmp system info fields are updated on the node.  In particular nodesysoid is required for collection to start.  When using DBonly or No option,  node system info is not updated when collection starts for SNMP service and Collector stops collecting for this service. Collector doesn't schedule this service until Collectd is reloaded even though nodesysoid is updated later.

 

Solution is to clarify what DB Only , Yes, No options  Or make sure that Node system info is filled before sending the NodeGainedService event for SNMP.

Ronny Trommer November 12, 2020 at 7:21 PM
Edited

I've verified the behavior also with the "No" option. It also does not collect any data. The only way to get data collected immediately after synchronizing is when you select "Yes" on synchronization.

I've created three requisitions with the name "yes", "db-only" and "no" with the same node. I've synchronized each of them with the action accordingly.

The nodes look all the same, SNMP attributes, SNMP interfaces, and IP interfaces. You will only get SNMP data collection on the node in the requisition synchronized with "yes". You can do Rescan or Update SNMP or even try to resynchronize the requisitions with Yes, nothing will start the data collection.

I ran the test on CentOS 8 with the latest stable Horizon 27.0.0. After restarting you get data collection for all of them.

Chandra Gorantla November 12, 2020 at 5:44 PM

Got repro. SNMP resources are not getting created when I use  DB Only option.

Chandra Gorantla November 12, 2020 at 2:59 PM
Edited

Assigning myself back.  I tested with DB Only and No options and couldn't reproduce the issue on `r26` and `r27`on my fedora system ( without rpms, dev build).

Will check more on this.

Fixed

Details

Assignee

Reporter

HB Grooming Date

HB Backlog Status

Components

Sprint

Affects versions

Priority

PagerDuty

Created October 27, 2020 at 1:26 PM
Updated July 6, 2022 at 5:52 PM
Resolved November 20, 2020 at 7:58 PM