【发布时间】:2011-01-02 16:30:03
【问题描述】:
我们有一个 Java Web 应用程序,我们想设置一些基本的监控,以期在未来扩展这种监控。我们的计划如下:
(1) 收集有关运行应用程序的 Web 容器的虚拟机的通用信息(例如内存和线程)。
(2) 监控应用程序的“状态”。这是相当模糊的,但至少我们想看看 Web 应用程序是否还活着并且可以响应请求。
(3) 未来我们希望收集更多特定于我们应用程序的信息。同样,这相当模糊,但您可以假设我们可能希望将应用程序内部收集的某些统计信息提供给支持人员。
通常,Web 应用程序将部署在 Tomcat 5.5 或 6 环境中。在网上快速搜索一下,可以看到可以为 Tomcat 启用 JMX,然后可以使用 JConsole 连接到服务器。这为我们提供了许多解决第 (1) 点的基本信息。此外,“Catalina”的 MBeans 部分中提供了一些信息,对此我至少可以深入了解,例如,查看特定 servlet 收到了多少请求。这不是我们想要的第 (2) 点,但至少给了我们一些信息。那里似乎有很多信息,但使用 JConsole 很难解释。也许有更好的工具来解释 Tomcat 公开的 MBean。
对于第 (3) 点,乍一看似乎我们可以编写自己的 MBean,然后将它们提供给 JConsole 之类的东西。就个人而言,这将涉及我学习 JMX,我很乐意这样做,但我有一个顾虑。环顾四周后,我注意到大多数关于该主题的教科书已经好几年没有更新了,而且开源工具似乎在没有最近更新的情况下逐渐衰弱。所以我的主要问题是一个简单的问题。您对 JMX 有什么看法?它有未来还是/已经被其他东西取代了?鉴于我们已经有了 Web 应用程序,但我们是从头开始管理控制台,我们应该选择 JMX 还是有更合适的、未来更美好的东西?
我问这个问题没有任何个人意见,我只是想听听您的意见和经验。我确信没有一个正确的答案,但我认为知情的讨论会很有用。
提前致谢,
亚当。
【问题讨论】:
标签: java web-applications tomcat monitoring jmx