使用JMX以及如何使用现有应用程序

时间:2012-02-10 17:32:33

标签: java jmx jconsole performance

我们已经分发了几年前在JDK 5上开发的Web应用程序。

  

JMX将如何帮助此应用程序?

1)它会帮助我监控性能(内存,CPU和网络和磁盘IO)吗?

2)如果是,那么应用程序部署在多个服务器中,如何在一个仪表板中进行监控?

3)我是否必须对现有应用程序进行任何新代码更改,还是可以在不更改代码的情况下进行监视?

4)除了绩效监控,我们还能做些什么?因为名称是管理扩展(MX)我们可以管理什么以及如何管理?看来主要目标不是监控,而是管理?

我无法从Oracle网站http://docs.oracle.com/javase/tutorial/jmx/overview/why.html提供的教程中了解JMX。似乎有些商业代表准备本教程而不是技术人员。

任何人都可以帮助我理解这些JMX的内容,真诚地感谢您的努力。

谢谢, 你的朋友。

1 个答案:

答案 0 :(得分:18)

JMX是一种从正在运行的系统中获取信息并在其上调用操作的标准化方法。 JVM为您提供了一组MBean,您可以通过它们访问运行时数据,如内存消耗,GC统计信息和更多数据。您还可以调用许多操作。您的应用服务器还将为您提供许多MBean,您可以使用这些MBean来控制服务器和已安装的应用程序。

  1. 是的,它会为您提供一些性能数据。有关资源列表,请参阅http://docs.oracle.com/javase/1.5.0/docs/guide/management/overview.html
  2. 这取决于您的应用程序服务器。如果它支持群集环境,它可能会为您提供一个仪表板。
  3. 如果您对标准JVM和应用服务器MBean很好,则无需进行任何更改。但您可能希望编写自己的MBean来提供特定的应用程序状态和统计信息或控制应用程序的方法。请参阅http://docs.oracle.com/javase/tutorial/jmx/mbeans/standard.html
  4. 嗯,你可以用标准的方式做任何你喜欢的事。
  5. 查看jconsole(包含在JDK中)以了解JMX为您提供的内容!