2010-08-31 85 views

回答

2

我相信你可以通过RMI-IIOP连接到JMX服务,我相信这是Java的CORBA。我相信这意味着您可以使用任何COBRA客户端连接到RMI-IIOP Java服务。请查看JBoss IIOP,我相信这只是你想要的,只有它是JBoss特有的。

也许使用JAX-WS或JAX-RS(即Web服务)简单地包装要导出的JMX服务可能更容易?然后你可以使用普通的'HTTP来访问你想要的东西。

其实it seems someone has done exactly that!我想你想获得的东西,如:

  • http://<host>:<port>/rest/jmx/java.lang:type=Memory/NonHeapMemoryUsage/commited

整个项目可在https://opendmk.dev.java.net/contributions/rest-adaptor/readme.html

宁静的JMX适配器

该项目 OpenDMK贡献提供了一个HTTP 以RestFul方式访问JMX信息。发表在the JMX NetBeans blog的一篇文章,详细介绍了 的方法。

另一个(一样吗?)的项目可在https://ws-jmx-connector.dev.java.net/

+0

heh - 我最后偶然做了一个简单的RESTful事件(几行代码),但这很好理解!毕竟我没有疯狂! – 2010-09-01 06:18:51

2

对于Nagios的监控JMX jmx4perl是一个完美的解决方案,因为它具有丰富的Nagios插件check_jmx4perl功能已经来了。它使用Jolokia,它是通过JSON/HTTP桥接JMX的代理程序,并具有高级功能,如细粒度安全性或批量请求,这些功能不适用于传统的JSR-160连接器。它也在积极开发之中,而上述REST方法似乎在2008年停滞不前(这也是2009年5月启动jmx4perl的原因)。顺便说一句,JSR-262“用于Java管理扩展(JMX)代理的Web服务连接器”很不幸地处于“非活动状态”,因此我不期望从这方面取得很多进展。

+0

很高兴知道,谢谢。我很喜欢纳吉奥斯,它已被证明是非常值得信赖的。 – 2011-01-26 23:27:08