VMware Cloud Community
mbaker2
Contributor
Contributor

Null pointer exception testing script plug-in

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?

0 Kudos
0 Replies