JMX“仪表板”应用程序

时间:2012-07-07 00:02:58

标签: java web-applications jmx

我最近几天一直在玩JMX,虽然我不是介意 JConsole或标准的JMX网络管理工具,但不管怎么说创建我自己的网络应用程序会很不错询问已注册的JMX MBeans,并提供了一个漂亮的,富有UI风格的“仪表板”,其中包含图表和图形; JMX控制台或JConsole根本没有的东西。

这可能吗?我听说过一种名为JMX“代理”的东西,但不确定这是否与如何通过仪表板式应用程序查询和管理JMX有关。提前谢谢!

4 个答案:

答案 0 :(得分:5)

Jolokia是一种基于代理的JMX方法,它将JMX本机调用转换为JSON-over-HTTP。它附带一个Javascript库,非常适合在浏览器中使用。有关网页中的示例用法,请查看Jolokia-Cubism Integration的演示,或者更好地查看Tomasz Nurkiewicz的blog post,它提供了一个使用Jolokia和Highcharts图表库的非常好的示例

说这一切,还有更多:Ají,Jolokia的花式妹妹,已经开始作为项目,将提供与Jolokia客户捆绑在一起的JMX控制台。我还在整理好东西(好吧,它慢慢移动......),但我认为在夏天会有更多的东西。人们已经可以玩它,我们仍然寻找志愿者(提示;-) ....

答案 1 :(得分:1)

你想要做的事情可能已经建成,除非你真的想自己做。你以前看过VisualVM吗?我非常喜欢http://visualvm.java.net/mbeans_tab.html/

要编写自己的远程管理MBean的应用程序,我认为您可以从本教程开始。似乎是一个很好的起点。

http://docs.oracle.com/javase/tutorial/jmx/remote/custom.html

答案 2 :(得分:0)

其中一条评论是VisualVM是一个分析器。 VisualVM不是一个分析器,它是建立在NetBeans平台之上的平台。该平台支持多种方式连接到飞行中的VM,包括使用JMXConnector到MBeanPlatformServer,可维护性代理(SA),按需附加等。

VisualVM确实包含2个不同的分析器,但是还有一个MBean插件,允许您查看和操作已在MBeansPlatformServer中注册的MBean。

VisualVM中的许多视图从java.lang.management包中找到的MXBeans中获取了向MBeansPlatformServer注册的数据。这些MXBeans中的许多都是SA的包装器,它是HotSpot的一个组件,它维护着一组性能计数器。例如,计数器可以为您提供有关JIT编译器活动,GC活动甚至主机平台CPU利用率等的一些信息。

您可以轻松构建自己的插件来查看或操作MBean。这里的帖子中提到的教程是如何完成它的一个信息来源。我编写了一个演示VisualVM插件,用于查看MemoryPool MXBeans中的数据。该插件已被其他人扩充以执行许多其他操作。所有代码都可以在项目MemoryPoolView中的java.net中找到。它涵盖了阅读数据。但是,执行功能实际上只是使用您正在与之交互的MBean所需的参数来执行针对JMXConnector的方法。 IOWs,它是插件的一个相当简单的扩展。

答案 3 :(得分:0)

HawtIO是关于最好的即插即用,开箱即用的解决方案,用于在网页上获取JMX内容。您可以在同一页面上放置多个mbeans并一次查看它们,它可以在浏览器中运行,您不必自己编写一堆前端代码,而且可以在不打开奇怪的端口的情况下完成IT部门会感到紧张。使用简单的拖放界面的数据可视化选项非常少,但是有用于编写更高级插件的文档。

后端使用Jolokia在JMX上放置一个HTTP REST接口,对于你可能会看到的任何解决方案都可能是这样。