我们几年前就在JDK5上开发了分布式web应用程序。
JMX将如何帮助此应用程序?
1) 它能帮助我监控性能(内存、CPU和网络和磁盘IO)吗?
2) 如果是这样,那么应用程序部署在多个服务器中,我如何在一个面板中进行监控?
3) 我必须对现有应用程序进行任何新的代码更改吗?或者我可以在不更改代码的情况下进行监视吗?
4) 除了性能监控,我们还能做什么?因为名称是管理扩展(MX),我们可以管理什么以及如何管理?似乎首要目标不是监控,而是管理?
我无法从Oracle网站上提供的教程中获得关于JMX的太多信息http://docs.oracle.com/javase/tutorial/jmx/overview/why.html.似乎是某个商业代表准备了这个教程,而不是一个技术人员。
有人能帮助我理解JMX的东西吗?我们衷心感谢您的努力。
谢谢,你的朋友。
JMX是一种从运行中的系统中获取信息并调用操作的标准化方法。JVM为您提供了一组MBean,您可以通过这些MBean访问运行时数据,如内存消耗、GC统计数据和更多数据。您还可以调用许多操作。您的应用服务器还将为您提供许多MBean,您可以使用这些MBean来控制服务器和已安装的应用程序。
- 是的,它会给你一些性能数据。看见http://docs.oracle.com/javase/1.5.0/docs/guide/management/overview.html获取资源列表
- 这取决于您的应用程序服务器。如果它支持集群环境,它可能会为您提供一个仪表板
- 如果您对标准JVM和应用服务器MBean很满意,那么就不需要做任何更改。但是,您可能需要编写自己的MBean,以提供特定的应用程序状态和统计信息,或控制应用程序的方法。看见http://docs.oracle.com/javase/tutorial/jmx/mbeans/standard.html
- 好吧,你可以用标准化的方式做任何你喜欢的事情
看看jconsole(包含在JDK中),看看JMX为您提供了什么!