NSClient Plugin - SERVICESTATE always return OK (Up)

Description

NSClient monitor is always returning OK for command SERVICESTATE, despite the
value returned by windows plugin (other commands like PROCSTATE are performing
right).

Following tests have been done over remote windows server with nsplugin 201
installed. As an example, service VMTools is started and service Messenger is
stoped.

Monitoring with the comand line CheckNsc class, this is what we get:


[root@repserver OpenNMS]# java -cp /opt/OpenNMS/lib/opennms_services.jar \ org.opennms.netmgt.poller.nsclient.CheckNsc 10.161.10.139 SERVICESTATE 1
1 Messenger
NsclientPlugin: SERVICESTATE: OK (2& Messenger: Stopped )
[root@repserver OpenNMS]# java -cp /opt/OpenNMS/lib/opennms_services.jar \ org.opennms.netmgt.poller.nsclient.CheckNsc 10.161.10.139 SERVICESTATE 1
1 Messsenger
NsclientPlugin: SERVICESTATE: OK (1& Messsenger: Unknown )
[root@repserver OpenNMS]# java -cp /opt/OpenNMS/lib/opennms_services.jar \ org.opennms.netmgt.poller.nsclient.CheckNsc 10.161.10.139 SERVICESTATE 1
1 VMTools
NsclientPlugin: SERVICESTATE: OK (0& VMTools: Started )


As you can see, always returns OK, also with stopped and unknown

services.

At pollers.log log file, it shows the correct "stopped" value returned
by the poller, but polling result is UP:

------------- 2006-09-08 10:17:56,369 DEBUG [PollerScheduler-40 Pool-fiber14]
PollableServiceConfig: Polling 175:10.161.10.139:NSC-SERVICE-Messenger
using pkg win-pmi
2006-09-08 10:17:56,371 DEBUG [PollerScheduler-40 Pool-fiber14]
NsclientMonitor: reason: null
2006-09-08 10:17:56,371 DEBUG [PollerScheduler-40 Pool-fiber14]
RrdUtils: createRRD: rrd path and file name to create:
/usr/local/openNMS/share/rrd/response
/10.161.10.139/nsc-service-messenger.rrd
2006-09-08 10:17:56,371 DEBUG [PollerScheduler-40 Pool-fiber14]
RrdUtils: updateRRD:updating RRD file:
/usr/local/openNMS/share/rrd/response/10.161.10.139/n
sc-service-messenger.rrd with value: 1157703476:0
2006-09-08 10:17:56,371 DEBUG [PollerScheduler-40 Pool-fiber14]
RrdUtils: updateRRD: RRD update command completed.
2006-09-08 10:17:56,371 DEBUG [PollerScheduler-40 Pool-fiber14]
NsclientMonitor: Wrote to JE-RRD: 2& Messenger: Stopped
2006-09-08 10:17:56,371 DEBUG [PollerScheduler-40 Pool-fiber14]
NsclientMonitor: JE poller: 2& Messenger: Stopped
2006-09-08 10:17:56,372 DEBUG [PollerScheduler-40 Pool-fiber14]
PollableServiceConfig: Finish polling
175:10.161.10.139:NSC-SERVICE-Messenger using pkg win-
pmi result =Up
-----------------

However, Polling the PCROCSTATE command, returns the correct value:

----------------- [root@repserver OpenNMS]# java -cp /opt/OpenNMS/lib/opennms_services.jar \ org.opennms.netmgt.poller.nsclient.CheckNsc 10.161.10.139 PROCSTATE 2 2
naviagent.exe
NsclientPlugin: PROCSTATE: CRITICAL (2& naviagent.exe: not running )
[root@repserver OpenNMS]# java -cp /opt/OpenNMS/lib/opennms_services.jar \ org.opennms.netmgt.poller.nsclient.CheckNsc 10.161.10.139 PROCSTATE 2 2
explorer.exe
NsclientPlugin: PROCSTATE: OK (0& explorer.exe: Running )
---------------
So seems to be a problem only related to SERVICESTATE command.

The versions and configuration:

The versions:

OpenNms: 1.2.8
Java : java-1.4.2-ibm-1.4.2.3
OS: RHEL4 i386 smp
HW: PowerEdge 1855

The capsd configuration (working ok):

<protocol-plugin protocol="NSC-SERVICE-Messenger"
class-name="org.opennms.netmgt.capsd.NsclientPlugin" scan="on" user-defined="false">
<property key="port" value="1248" />
<property key="timeout" value="3000" />
<property key="retry" value="2" />
<property key="command" value="SERVICESTATE" />
<property key="parameter" value="Messenger" />
</protocol-plugin>

The poller configuration (on "win-pmi" custom package):

<service name="NSC-SERVICE-Messenger" interval="300000" user-defined="false"
status="on">
<parameter key="port" value="1248" />
<parameter key="timeout" value="3000" />
<parameter key="retry" value="2" />
<parameter key="command" value="SERVICESTATE" />
<parameter key="parameter" value="Messenger" />
<parameter key="rrd-repository" value="/usr/local/openNMS/share/rrd/response"/>
<parameter key="ds-name" value="nsc-service-messenger"/>
</service>

Note: could be related to NMS-1603

Environment

Operating System: Linux Platform: PC

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Benjamin Reed July 10, 2007 at 1:23 PM

this has been fixed for a bit, marking as resolved

in addition, https://opennms.atlassian.net/browse/NMS-1603#icft=NMS-1603 is about a similar issue, where "Unknown" state values are not handled. This will be handled as a separate issue.

Benjamin Reed July 10, 2007 at 1:21 PM

Fixed

Details

Assignee

Reporter

Fix versions

Affects versions

Priority

PagerDuty

Created October 3, 2006 at 3:27 AM
Updated January 27, 2017 at 4:32 PM
Resolved September 6, 2010 at 3:50 PM

Flag notifications