我们有一个

Java Web应用程序,我们想设置一些基本的监控,以便将来扩展这个监控.我们的计划如下:

(1)收集关于运行应用程序的Web容器的虚拟机的通用信息(例如内存和线程).

(2)监控应用程序的“状态”.这是相当模糊的,但至少我们想看看Web应用程序是否仍然存在并可以响应请求.

(3)将来我们会收集更多与我们应用相关的信息.再次,这是相当模糊的,但您可以假设我们可能希望通过应用程序在内部收集一些统计信息给支持人员.

通常,Web应用程序将部署在Tomcat 5.5或6环境中.在网络上进行快速搜索显示,可以为Tomcat启用JMX,然后可以使用JConsole连接到服务器.这给了我们许多解决点的基本信息(1).另外,在“Catalina”的MBean部分还提供了一些信息,至少可以进行深入研究,例如,可以看到特定servlet收到的请求数量.这不是我们想要的点(2),但至少给我们一些信息.在这里似乎有很多信息,但使用JConsole来解释是相当困难的.也许有一个更好的工具来解释由Tomcat暴露的MBean.

对于第(3)点,乍看起来我们可以编写自己的MBean,然后将它们提供给JConsole.就个人而言,这将涉及到我学习JMX,我很乐意做,但我有一个问题.环顾四周,我注意到大多数关于这个问题的教科书尚未更新几年,开源工具似乎在没有最新更新的情况下变得越来越糟糕.所以我的主要问题是一个简单的问题.你对JMX有什么看法?它有未来还是它被其他东西所取代?鉴于我们已经有了我们的Web应用程序,但是我们从零开始就为管理控制台开始,我们应该选择JMX还是在更好的未来提供更适合的东西?

我问这个问题,没有人的斧头研磨,我只是有兴趣听到你的意见和经验.我相信没有一个正确的答案,但我认为一个知情的讨论将是有用的.

提前致谢,