How do I configure opennms to monitor a specific service/process that is not defined out of the box in opennms?

StackOverflow https://stackoverflow.com/questions/19799058

  •  04-07-2022
  •  | 
  •  

Question

There is no class defined corresponding to that service in opennms. The service is running on a remote host. The current protocols supported out of the box are:

Citrix
DHCP
DNS
Domino IIOP
FTP
HTTP
HTTPS
ICMP
IMAP
JBOSS
JDBC
JDBC Stored Procedure
JSR160
K5
LDAP
Microsoft Exchange
MX4J
Notes HTTP
NSClient (Nagios Agent)
NRPE (Nagios Remote Plugin Executor)
NTP
POP3
Radius
SMB
SMTP
SNMP
SSH
TCP

Is there a way to detect a service not in this list?

Was it helpful?

Solution

Adding the detector to the provisioning group will get the port listed as a service on a nodes particular interface. But to get it "monitored" you also need to add a matching poller. Here is a sample for generic DNS port 53 test.

provision group detector within the detectors section or via UI as Pete indicated:

    <detector name="TCP-DNS-53" class="org.opennms.netmgt.provision.detector.simple.TcpDetector">
        <parameter key="port" value="53"/>
    </detector>

Matching poller-configuration.xml to get it monitored. i.e. events if the node stops responding to the port.

    <!-- within the services section -->
    <service name="TCP-DNS-53" interval="300000" user-defined="false" status="on">
        <parameter key="retry" value="3"/>
        <parameter key="timeout" value="3000"/>
        <parameter key="port" value="53"/>
        <parameter key="banner" value="*"/>
    </service>

Then a monitor definition near the bottom.

    <monitor service="TCP-DNS-53" class-name="org.opennms.netmgt.poller.monitors.TcpMonitor"/>

The detector, service names and monitor service all have to be identical.

OTHER TIPS

"Admin" -> "Node provisioning" -> "Manage Provisioning Requisitions" -> "Edit Default Foreign Source Definition" -> "Add detector" -> give it a name, select TCP -> "add parameter" -> "key": port, "value": port_used_by_service

You can check OpenNMS documentation (there's an example adding Telnet):
http://www.opennms.org/wiki/Provisiond

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top