I am trying to remotely monitor some JMX enabled applications. I have read the JMX documentation and tried the below custom plugin XML. When I run the command line tool to discover the services, java -jar lib/hq-product.jar -Djmx.sun.discover=true -Dplugins.include=jmx,whatever -m discover -a metric -Dlog=debug, it works fine on the local machine where the JVM is running, but it fails from a remote machine. What am I missing?
<plugin>
<classpath>
<include name="pdk/lib/mx4j"/>
</classpath>
<service name="Beginners JMX" server="Sun JVM" version="1.5">
<property name="OBJECT_NAME" value="java.lang:type=OperatingSystem"/>
<plugin type="autoinventory" />
<plugin type="measurement" class="org.hyperic.hq.product.jmx.MxMeasurementPlugin"/>
<config name="jmx" type="global">
<option name="jmx.url" description="JMX URL to MBeanServer" default="service:jmx:rmi:///jndi/rmi://ecis197.eng.med.ge.com:8888/jmxrmi"/>
<option name="jmx.username" description="JMX username" optional="true" default=""/>
<option name="jmx.password" description="JMX password" optional="true" default="" type="secret"/>
</config>
<filter name="template" value="${OBJECT_NAME}:${alias}"/>
<metric name="Availability" template="${OBJECT_NAME}:Availability" indicator="true"/>
<metric name="Num Procs" alias="AvailableProcessors" collectionType="trendsup" indicator="true"/>
<metric name="Open FD Count" alias="OpenFileDescriptorCount" collectionType="trendsup" indicator="true"/>
<metric name="LoadAverage" alias="SystemLoadAverage"/>
</service>
</plugin>