Reputation: 41
I have written custom plugin for monitoring camel routes on Jboss Operational Network(JON). But in RHQ server/JON no metrics is being added for monitoring.
In RHQ-agent log file I am able to see the following.
2012-12-04 13:47:13,515 DEBUG [InventoryManager.discovery-1] (rhq.core.pc.inventory.InventoryManager)- Executing discovery for [Srikanth Custom Service] Resources...
2012-12-04 13:47:13,515 DEBUG [ResourceDiscoveryComponent.invoker.daemon-1] (org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent)- Discovering MBean resources with object name query template: org.apache.camel:type=routes,*
2012-12-04 13:47:13,531 DEBUG [ResourceDiscoveryComponent.invoker.daemon-1] (org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent)- Found [1] mbeans for query [org.apache.camel:type=routes,*].
2012-12-04 13:47:13,531 DEBUG [ResourceDiscoveryComponent.invoker.daemon-1] (org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent)- **[0] services have been added**
2012-12-04 13:47:13,531 DEBUG [InventoryManager.discovery-1] (rhq.core.pc.inventory.InventoryManager)- Discovery for [Srikanth Custom Service] resources completed in [16] ms
Here I am sending the plugin code which deployed ON JON.
RHQ-Plugin.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Writing custom plugin for RHQ/JON -->
<plugin name="SampleRHQPlugin"
displayName="Sample RHQ JMX Plugin"
version="1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:xmlns:rhq-plugin"
xmlns:c="urn:xmlns:rhq-configuration">
<!-- Writing custom plugin for RHQ/JON -->
<depends plugin="JMX" useClasses="true"/>
<!-- Custom service metrics-->
<service name="Srikanth Custom Service"
description="Our Srikanth MBean custom service that has a code associated with it."
discovery="org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent"
class="org.rhq.plugins.jmx.MBeanResourceComponent">
<!-- Custom run Inside-->
<runs-inside>
<parent-resource-type name="JMX Server" plugin="JMX"/>
<parent-resource-type name="JBossAS Server" plugin="JBossAS"/>
</runs-inside>
<!-- plugin configuration metrics-->
<plugin-configuration>
<c:simple-property name="objectName" readOnly="true" default="org.apache.camel:type=routes,*" />
<c:simple-property name="connectorAddress" default="service:jmx:rmi://localhost:44444/jndi/rmi://localhost:1099/karaf-root" required="false" type="string" description="The connection url in the form of a JMXServiceURL - this should only be set if the JVM has JMX Remoting enabled" />
<c:simple-property name="installURI" required="false" type="string" description="The installation path for the selected server type which will be used to find client libraries (if appropriate)" />
<c:simple-property name="principal" required="false" default="smx" description="The login principal/username" />
<c:simple-property name="credentials" required="false" type="password" default="smx" description="The login credentials/password" />
</plugin-configuration>
<!-- Custom metrics-->
<metric property="ExchangesCompleted"
displayName="ExchangesCompleted"
defaultOn="true"
displayType="summary"
defaultInterval="30000"
description="Number of completed exchanges"/>
<!-- END of Custom metrics -->
</service>
<!-- END of service -->
</plugin>
<!-- END of plugin-->
How to add this ExchangesCompleted metrics to JON server for monitoring?
Please help me.
Upvotes: 1
Views: 1082
Reputation: 30974
While I know next to nothing about the Fuse products, I suspect that you simply do not hit the right expression for the name of the property in
<metric property="ExchangesCompleted"
especially as you are using an object name pattern here:
<c:simple-property name="objectName" readOnly="true" default="org.apache.camel:type=routes,*" />
Make sure that for the objects with org.apache.camel:type=routes,*
the ExchangesCompleted
really exists.
Perhaps start with narrowing down this by not using an object name pattern, but one single concrete object name.
Upvotes: 0
Reputation: 142
Just to make sure, are you aware that JON provides a plugin for the Fuse products provided by Red Hat?
I realise at the time of writing your message, it was not yet supported and provided as the JBoss branded Fuse products at not been released.
Hopefully, but now, you've used those plugins instead of having to re-invent the wheel.
Cheers.
Upvotes: 2