我们在单个 Tomcat 7 服务器上部署了多个 Web 应用。有没有办法监控部署到 Tomcat 服务器的每个 Web 应用的状态(正常运行时间、内存使用情况等)?
我们正在使用 Nagios 来监控基本服务器状态(即磁盘使用情况、ping、内存使用情况等),如果我们可以将每个 web 应用程序状态也集成到 Nagios 中,那就太好了。
我们还希望这种集成能够在 Web 应用程序达到内存使用量的某个阈值限制时发出警报。
编辑:我们在 Ubuntu 上运行 Tomcat。
有这样的办法吗?
谢谢。
答案1
您应该看看 JavaMelody 和 PSI Probe:
JavaMelody 的目标是监控 QA 和生产环境中的 Java 或 Java EE 应用服务器。它不是模拟用户请求的工具,而是一个根据用户对应用程序的使用情况测量和计算应用程序实际运行统计数据的工具。
http://code.google.com/p/javamelody/
PSI Probe 是 Lambda Probe 的一个社区驱动分支,采用相同的开源许可证 (GPLv2) 进行分发。它旨在取代和扩展 Tomcat Manager,使管理和监控 Apache Tomcat 实例变得更加容易。
答案2
CA Wily Introscope 是一款非常出色的工具。它具有许多功能,包括多个 Tomcat 实例的 GC 堆、线程数、错误数、停顿数、后端健康状况等图表。还可以设置自动电子邮件警报,以便在出现异常情况时提醒维护人员。
http://www.thenewreality.be/presentations/pdf/Day2Track6/265CTAC.pdf
(PS - 我不认为这个是免费的。尽管如此,它还是一个好工具)