记录传入请求

记录传入请求

我们在 Ubuntu 服务器上运行 Tomcat。它运行一个向互联网开放的 Web 服务。

有时流量会突然激增,然后又下降。Tomcat 访问日志中没有任何异常。我猜是因为有些请求太“重”以至于它们永远无法完成,因此没有记录到 Tomcat 访问日志中。

有没有办法配置 Ubuntu 以以下格式记录传入的请求(如下)?

日期、时间、URL(带有查询字符串参数)、IP 地址(客户端)

每个请求应占一行。每个请求都应在执行前记录。仅应记录对端口 80 和 443 的传入请求。

答案1

Tomcat 最终会将所有请求记录到其访问日志中,即使请求需要很长时间才能完成。如果您有永不结束的请求,您会在 Tomcat 的线程转储中看到它们。您可以通过运行Tomcat JVM 的进程 IDkill -3 PID在哪里来执行线程转储。您可以运行以找到进程 ID;它是第二列中的数字。PIDps aux | grep java

但是,如果您在 Tomcat 访问日志中没有看到任何明显的内容,那么网络流量可能不会流向 Tomcat。

您可以尝试使用来tcpdump监控在峰值发生时您获得的网络流量。请参阅男人页面以了解更多信息。

根据峰值的原因,你可能想尝试询问AWS 开发人员论坛服务器故障系统管理员人数较多的地方。

相关内容