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

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

JMX将如何帮助这个应用程序?

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

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

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

4)除性能监控外,我们还能做些什么? 因为name是Management Extensions(MX)我们可以管理什么以及如何管理? 看来主要目标不是监控,而是管理?

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

任何人都可以帮助我理解这个JMX的东西,您的努力是真诚的感谢。

谢谢,你的朋友。

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

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

查看jconsole(包含在JDK中),了解JMX为您提供的内容!