I am trying to get the script plug-in working under Windows. I have a simple script that returns the availability metric plus another metric as key value pairs. I have created the XML fiule to executee this a script plugin. However when I try to run the plug-in via the batch test mechanism (hq-pdk-4.6.6.jar) I get a null pointer exception.
The batch file is very basic:
@echo off
echo availability=1
echo messages=10
As is the plug-in XML:
<plugin>
<server name="MSMQTEST" platforms="Win32">
<plugin type="measurement" class="org.hyperic.hq.product.MeasurementPlugin"/>
<plugin type="autoinventory" class="org.hyperic.hq.product.DaemonDetector"/>
<filter name="service_name" value="MSMQ"/>
<property name="HAS_BUILTIN_SERVICES" value="true"/>
<!-- PROC_QUERY used by DaemonDetector -->
<property name="PROC_QUERY" value="Pid.Service.eq=${service_name}"/>
<!-- Checks that Windows 'MSMQ' service is running -->
<metric name="Availability" template="win32:Service=${service_name}:Availability" indicator="true"/><filter name="object" value="MSMQ Service"/>
<service name="MSMQ DLQ">
<config>
<option name="process.query" default="Pid.Service.eq=${service_name}" description="MSMQ Service"/>
</config>
<filter name="template" value="exec:timeout=10,file=dlqCount.bat"/>
<metric name="Availability" indicator="true"/>
<metric name="messages" indicator="true"/>
<metric name="bytes" indicator="true"/>
</service>
</server>
</plugin>
I run it with the command:
D:\Utils\hyperic-hq-agent-4.6.6\jre\bin>java -jar D:\Utils\hyperic-hq-agent-4.6.6\bundles\agent-4.6.6\pdk\lib\hq-pdk-4.6.6.jar -Dplugins.include=msmq-test -m discover -a metric -Dlog=debug
The exception I get is:
getValue failed for metric: MSMQTEST MSMQ DLQ:exec:timeout=10,file=dlqCount.bat
NullPointerException: null
java.lang.NullPointerException
at org.hyperic.sigar.win32.Win32.findScriptExecutable(Win32.java:39)
at org.hyperic.hq.product.ExecutableProcess.init(ExecutableProcess.java:136)
at org.hyperic.hq.product.Collector.getValue(Collector.java:512)
at org.hyperic.hq.product.MeasurementPlugin.getValue(MeasurementPlugin.java:445)
at org.hyperic.hq.product.MeasurementPluginManager.getPluginValue(MeasurementPluginManager.java:171)
at org.hyperic.hq.product.MeasurementPluginManager.getValue(MeasurementPluginManager.java:269)
at org.hyperic.hq.product.MeasurementPluginManager.getValue(MeasurementPluginManager.java:130)
at org.hyperic.hq.product.MeasurementPluginManager.getValue(MeasurementPluginManager.java:122)
at org.hyperic.hq.product.util.PluginDumper.getValue(PluginDumper.java:644)
at org.hyperic.hq.product.util.PluginDumper.fetchMetrics(PluginDumper.java:795)
at org.hyperic.hq.product.util.PluginDiscoverer.dumpProperties(PluginDiscoverer.java:375)
at org.hyperic.hq.product.util.PluginDiscoverer.dumpProperties(PluginDiscoverer.java:424)
at org.hyperic.hq.product.util.PluginDiscoverer.dumpService(PluginDiscoverer.java:457)
at org.hyperic.hq.product.util.PluginDiscoverer.runtimeScan(PluginDiscoverer.java:700)
at org.hyperic.hq.product.util.PluginDiscoverer.start(PluginDiscoverer.java:321)
at org.hyperic.hq.product.util.PluginDumper.testDiscovery(PluginDumper.java:1153)
at org.hyperic.hq.product.util.PluginDumper.invoke(PluginDumper.java:462)
at org.hyperic.hq.product.util.PluginMain.main(PluginMain.java:321)
The full output is attached.
Anyone have any ideas?