0

我的 webapp 在 tomcat 6 下运行,它使用 activeMQ 5.5 lib for jms。我正在创建一个插件来让 hyperic 4.5 通过 jmx 监视代理,但 hyperic 无法自动发现它。它也无法在管理插件管理器中加载它。(我正在使用的 hyperic 版本不支持 active mq 5.5,但它是一个小版本。)

日志中有错误,没有给我任何提示。试图启动 idmlBroker4.xml 的插件传输,但 HQ 中不存在插件

PDT 错误 [全局插件同步(由插件部署启动)1] [org.hyperic.hq.appdef.server.session.AgentManagerImpl@1552] 试图启动 Broker4.xml 的插件传输,但 HQ PDT 信息中不存在插件 [ scheduler-2] [org.hyperic.hq.product.server.session.ProductPluginDeployer@409] 取消部署插件:/home/hyperic/server-4.6.6/hq-engine/hq-server/webapps/ROOT/WEB-INF /hq-plugins/Broker4.xml

我的 MBean 和插件是:


MBean:org.apache.activemq.broker.jmx.QueueView 名称:org.apache.activemq:BrokerName=IDMLBroker,Type=Queue,Destination=idml1.com.cequint.idml.report.persistence 0. 属性:CacheEnabled = true ( r) ... 13. 属性:PrioritizedMessages = false (r) 14. 属性:EnqueueCount = 2877 (r) 15. 属性:DequeueCount = 2877 (r) 16. 属性:DispatchCount = 2877 (r) ... 操作: void purge [] 操作:boolean removeMessage [java.lang.String] ....


<plugin>
<service name="Broker"
       server="Sun JVM" version="1.5">

<property name="OBJECT_NAME"
          value="org.apache.activemq:BrokerName=Broker,Type=Queue,Destination=host1.com.server.report"/>

<plugin type="autoinventory"/>

<plugin type="measurement"
        class="org.hyperic.hq.product.jmx.MxMeasurementPlugin"/>

<plugin type="control"
        class="org.hyperic.hq.product.jmx.MxControlPlugin"/>

<!-- reset is an MBean operation, set* are attribute setters -->
<actions include="cursorSize"/>

<config>
    <option name="jmx.url" description="JMX URL to MBeanServer"  default="service:jmx:rmi:///jndi/rmi://localhost:8186/jmxrmi"/>
    <option name="jmx.username" description="JMX username" optional="false" default="user"/>
    <option name="jmx.password" description="JMX password" optional="false" default="password" type="secret"/>
</config>

<properties>
  <property name="EnqueueCount" description="Cache Size"/>
  <property name="DequeueCount" description="TrainThreshold"/>
</properties>

<filter name="template"
        value="${OBJECT_NAME}:${alias}"/>

<metric name="EnqueueCount"
        template="${OBJECT_NAME}:EnqueueCount"
        indicator="true"/>

<metric name="DequeueCount"
        alias="DequeueCount"
        collectionType="trendsup"
        indicator="true"/>

4

1 回答 1

1

我也有这个问题;对我来说,这个错误是由我的文件名不是 [ServiceName]-plugin.xml 引起的。

因此,由于您的服务是 Broker,因此您的文件名需要是 broker-plugin.xml。此文件名似乎不区分大小写。

此外,我发现将插件直接放到服务器的 hq-plugins 目录中可以在服务器日志中提供比使用插件管理器更好的反馈,并且建议您使用它。

于 2013-07-18T19:34:48.230 回答