0

我已经公开了一个 MBean NotifyFailedTriggers,它公开了一个 Integer 值。我已经正确配置了 poller、collectd 和 jmx-datacollection 配置文件。但是,collectd 守护进程似乎跳过了 mbean,说它没有注册。请参阅随附的日志。

2018-06-12 13:08:41,204 调试 [pool-10-thread-8] oonjiDefaultJmxCollector: 收集 MBean (objectname=com.example:name=notifyFailedTriggers, wildcard=false)

2018-06-12 13:08:41,205 调试 [pool-10-thread-8] oonjiDefaultJmxCollector:收集 ObjectName com.example:name=notifyFailedTriggers

2018-06-12 13:08:41,328 调试 [pool-10-thread-8] oonjiDefaultJmxCollector: ObjectName com.example:name=notifyFailedTriggers 未注册。

2018-06-12 13:08:41,329 调试 [pool-10-thread-8] oonjiDefaultJmxCollector:跳过 ObjectName com.example:name=notifyFailedTriggers

2018-06-12 13:08:41,510 信息 [Collectd-Thread-15-of-50] ooncCollectableService:运行:3/xx.xx.84.122/onms-poc/example1 的已完成收集

2018-06-12 13:08:41,510 调试 [Collectd-Thread-15-of-50] oonsLegacyScheduler:计划:为服务 3:/xx.xx.84.122:onms-poc(在 300000 毫秒内准备好)添加准备好的可运行 CollectableService间隔 300000

这是一个暴露 MXBean 的独立 Java 应用程序。

是否有特定原因认为此 MXBean 未注册并因此跳过它?

4

1 回答 1

1

简而言之,如果 MBean 服务器说它是,它认为 MXBean 是未注册的。您可能需要配置应用程序以启用某些 bean,或者您正在使用的应用程序版本可能不支持有问题的特定 bean。

在幕后,JMX 收集器询问 MBean 服务器对象是否已注册。如果 MBean 服务器响应它不是,那么 JMX 收集器会记录您粘贴的消息。这是发生这种情况的JMX 收集器代码,这是它为做出该决定而调用的“isRegistered”方法的文档。

于 2018-06-12T18:55:32.247 回答