什么是最好或最常用的JMX控制台/客户端?

50

我有一个服务器应用程序,已经使用JMX进行了仪表化,以便在测试和生产环境中进行监控。我希望以图形格式显示一些JMX公开属性的当前值以及长期趋势。

哪个是最佳或最常用的JMX控制台/客户端?

我找到了许多可能性,但没有一个明显的领导者:

  • JConsole(随JDK提供但没有图形视图
  • JManage(看起来没有最近活动)
  • Panoptes(看起来没有最近活动)
  • MC4J(看起来没有最近活动)
  • JBoss JMXConsole(看起来可能只适用于JBoss服务器)
  • Hyperic HQ(开源/社区版和企业版)
  • Zenoss

哪些是市场领先者?

列表中没有哪些?

6个回答

25

我更喜欢使用 JConsole 进行应用程序监控,并且它具有图形视图。如果您使用的是 JDK 5.0 或更高版本,则它是最好的选择。有关更多详细信息,请参阅此使用 jconsole 页面

我主要将其用于 GC 调优和查找瓶颈。


1
我之前并没有意识到JConsole有图形界面。如果你右键点击任何数字属性,它会给你一个时间序列图表,你可以选择要显示的时间段。非常有用!如果你想要构建一个仪表盘,其中包含从各种不同的JMX属性中提取的图表,那么最好的JMX控制台是什么? - Keith Lyall
在Java 7的jvisualvm中,如果您右键单击任何数字属性,它将为您提供时间序列图表。我使用双击来查看图表,右键单击则会提示将数据保存为CSV文件... - gavenkoa
@gavenkoa,你能给个例子吗?我找不到这个代码的作用位置。 - Thorbjørn Ravn Andersen
但是Jmanage非常适用于企业应用程序,可以通过在config.xml中添加application-cluster的配置来配置许多服务。Jmanage还支持身份验证层。但它已经不再维护了。有人能推荐类似的替代品吗? - YS_NE

23

10
VisualVM 是 JConsole(以及 jinfo、jmap、jstack、jstat)的超集替代品。它与较新的 JVM 一起捆绑提供,可通过输入“jvisualvm”来启动。此文章介绍了从 JConsole 到 VisualVM 的转变:From JConsole to VisualVM - Cincinnati Joe

4

4
JRockit Mission Control即将更名为Java Mission Control,并且将专门用于Hotspot。如果您是Oracle客户,可以从MOS(My Oracle Support)下载Java Mission Control的5.x版本。 Java Mission Control最终将与Oracle JDK一起发布。之所以目前还没有普遍可用,是因为存在一些严重限制,特别是在使用Flight Recorder时。但是,如果您只对使用JMX控制台感兴趣,那么应该没问题!

2

或者,自己构建一个JMX控制台并不需要很难。只需插入Jolokia并创建一个获取您感兴趣属性的Web页面即可。诚然,它不能让您进行趋势分析,但它确实可以让您构建出真正适合您目的的东西。

我仅用几行代码就构建了一些东西:http://nxt.flotsam.nl/ears-and-eyes.html


1

jminix 是一个嵌入式基于Web的JMX控制台。不确定它是否还在维护,但仍然可以使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接