1

我已经编写了用于监控 Jboss Operational Network (JON) 上的骆驼路线的自定义插件。但在 RHQ 服务器/JON 中,没有添加任何指标进行监控。

在 RHQ-agent 日志文件中,我可以看到以下内容。

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

在这里,我发送了部署在 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-->

如何将此 ExchangesCompleted 指标添加到 JON 服务器进行监控?

请帮我。

4

2 回答 2

2

只是为了确定一下,您是否知道 JON 为 Red Hat 提供的 Fuse 产品提供了一个插件?

我意识到在撰写您的消息时,它尚未作为 JBoss 品牌的 Fuse 产品得到支持和提供,尚未发布。

希望,但现在,您已经使用了这些插件,而不必重新发明轮子。

干杯。

于 2013-08-21T18:21:36.020 回答
0

虽然我对 Fuse 产品几乎一无所知,但我怀疑您根本没有在

<metric property="ExchangesCompleted"

特别是当您在这里使用对象名称模式时:

  <c:simple-property name="objectName" readOnly="true" default="org.apache.camel:type=routes,*" /> 

确保对于真正存在的org.apache.camel:type=routes,*对象ExchangesCompleted

也许从不使用对象名称模式,而是使用一个具体的对象名称来缩小范围。

于 2014-03-22T09:33:13.807 回答