Process monitoring not generating events

We are using OpenNMS 26.1. We decided to try process monitoring using either the HostResourceSwRunMonitor or the PrTableMonitor. I’ve configured both under the “example1” package. I attempted to define a process service for crond using the send-event syntax for registering a new service in one case, but it didn’t seem to work.

I am able to connect to the Karaf shell and run opennms:poll to get the status of my processes. I can detect state changes and the outputs of these polls show up in polled.log.

I have checked and rechecked the polling intervals in pollard-configuration.xml and syntax seems to match examples.

Yet… I get no events, and I have no associated process services. I should be polling every 5 minutes as well for processes, and the pollen.log (in debug mode) shows no such polling for processes I’ve defined.

Any help is appreciated. I seem to think I need a service defined, but my attempt to do that did nothing. A link to a process monitoring and data collection wiki page suggested more set up info there, but the log says the page was deleted in December.

Thanks for any help! I have spent much time on this. We are on an isolated network is copy and pasting is difficult, as is running any patches.

Thanks again!
Dan K

Are you getting other SNMP metrics collected? These process monitors pull status during SNMP collection and require that to work.

Yes, SNMP metrics collection is working. We routinely get Memory (swap) alerts, disk space threshold exceeded alerts, and the like, generated via the SNMP collection.

I am just wondering if we are missing something? I only have the process services described in pollerd-configuration.xml, as the example in the admin guide (copied below). There was a note in another wiki page, referencing a deleted article, about needing to define something in datacollection.xml? I don’t have anything in there, but maybe that is deprecated? And what about actually defining a service on a node, ie. Process-crond as a service on a node, such that it shows up in the Availability bar graph?

THank you!

<service name="Process-httpd" interval="300000" user-defined="false" status="on">
    <parameter key="retry" value="3"/>
    <parameter key="timeout" value="3000"/>
    <parameter key="service-name" value="httpd"/>
    <parameter key="run-level" value="3"/>
    <parameter key="match-all" value="true"/>

<monitor service="Process-httpd" class-name="org.opennms.netmgt.poller.monitors.HostResourceSwRunMonitor"/>

Just as a verification, see if you can walk the hrSWRunTable from your OpenNMS server.

snmpwalk -v 2c -c community host HOST-RESOURCES-MIB::hrSWRunName | grep httpd
(replacing community and host as appropriate)

We can, including the statuses, etc. polling from Karaf works with the OpenNMS:poll command. There is no other config or collection needed for this to work? No definition of services on nodes?

Thank you!

opennms:poll in Karaf should trigger a poll based on the corresponding service in poller-configuration.xml. For this, I think you may want to verify you can opennms:collect in Karaf, as that is the process that collects metrics for storage and the graphs. “Polling” just returns an up/down status and doesn’t necessarily persist data for the graphs on its own.