一尘不染

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

java

我们已经发布了几年前基于JDK 5开发的分布式Web应用程序。

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

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

2)如果是这样,则应用程序部署在多台服务器中,如何在一个仪表板中进行监视?

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

4)除了性能监控,我们还能做什么?由于名称是Management
Extensions(MX),我们可以管理什么以及如何管理?似乎主要目标不是监视,而是管理?

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

任何人都可以帮助我理解JMX的这些东西,由衷的感谢。

谢谢,你的朋友。


阅读 251

收藏
2020-12-03

共1个答案

一尘不染

JMX是一种从正在运行的系统中获取信息并在其上调用操作的标准化方法。JVM为您提供了一组MBean,您可以通过它们访问运行时数据,例如内存消耗,GC统计信息以及更多数据。您还可以调用许多操作。您的应用程序服务器还将为您提供许多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. 好吧,您可以以标准化的方式做任何您想做的事情。

看看jconsole(包含在JDK中),看看JMX为您提供了什么!

2020-12-03