2

过去几天我一直在玩 JMX,虽然我不介意JConsole 或标准的 JMX Web 管理工具,但创建我自己的 Web 应用程序以某种方式查询已注册的 JMX MBean 并呈现一个不错的、带有图表和图形的丰富 UI 风格的“仪表板”;JMX 控制台或 JConsole 根本没有的东西。

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

4

4 回答 4

6

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

说了这么多,还有更多: Jolokia 的漂亮妹妹Ají已经作为一个项目启动,它将提供一个与 Jolokia 客户端捆绑在一起的 JMX 控制台。我还在整理东西(嗯,它移动得很慢......),但我认为在夏天会有更多的东西。人们已经可以玩弄它了,我们仍在寻找志愿者(提示 ;-) ....

于 2012-07-09T18:51:05.487 回答
1

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

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

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

于 2012-07-07T04:13:52.733 回答
0

这里的评论之一是 VisualVM 是一个分析器。VisualVM 不是分析器,它是构建在 NetBeans 平台之上的平台。该平台支持以多种方式连接到正在运行的 VM,包括使用 JMXConnector 连接到 MBeanPlatformServer、可服务性代理 (SA)、按需附加等。

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

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

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

于 2014-11-05T14:44:25.647 回答
0

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

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

于 2018-02-15T23:01:54.267 回答