我们在 Centos 6.x 上的一组 Apache Tomcat 7 服务器上运行了一些关键的 Java Web 应用程序。
有时,每周一两次,其中一个 Tomcat 实例会突然关闭,没有任何痕迹,没有内存不足异常,也没有记录其他已知/未知异常。我检查了 Tomcat 日志、应用程序特定日志、/var/log/* 日志,没有发现问题的证据。
传入的流量/用户被负载平衡到其他几个 Tomcat HTTP 服务器,并且在出现问题时,其他服务器运行正常。
每次关闭的服务器都不同,所以我不能将此故障归咎于特定服务器。
Linux 风格和版本是 CentOS 版本 6.3(最终版)。
每台服务器有 2 个 CPU 核心和 4 GB RAM。
您能指导我解决这个错误吗?我没有足够的想法和工具了。
提前致谢!
答案1
假设您正在为 Web 应用编写自己的日志文件来调试此问题。如果您在正常的 tomcat 位置找不到任何日志,那么问题可能不是出在 tomcat 上,而是出在 Web 应用上。如果 Web 应用遇到异常并被捕获和处理,则可能会在不留下任何痕迹的情况下终止 tomcat。只有当 tomcat 收到意外错误时,它才会在自己的日志文件中留下日志;您的应用需要记录应用正在执行的操作。
如果您已经为应用设置了日志记录,那么您可能需要添加更多日志记录语句并增加这些语句的详细程度。您可能需要研究如何log4j
帮助控制这一点。