Fixed
Details
Assignee
OpenNMS Bug Mailing ListOpenNMS Bug Mailing ListReporter
Bernardo CabezasBernardo CabezasComponents
Fix versions
Affects versions
Priority
Major
Details
Details
Assignee
OpenNMS Bug Mailing List
OpenNMS Bug Mailing ListReporter
Bernardo Cabezas
Bernardo CabezasComponents
Fix versions
Affects versions
Priority
PagerDuty
PagerDuty
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
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