Linux:我可以实时监控到我网站的所有 http 连接吗?比如 tail -f /file/log.log 仅适用于 http 连接?

Linux:我可以实时监控到我网站的所有 http 连接吗?比如 tail -f /file/log.log 仅适用于 http 连接?

我想监控人们是否正在实时访问我的网站。我想在终端/ssh 中查看与我的网站建立的 http 连接。类似于 tail -f /file/log.log 函数,但我相信有一种方法可以不使用日志文件,对吗?

我在这里读了一些其他人的问题,似乎“IPTstate”就是我所寻找的,有人能确认一下这是否符合我的要求吗?我不太擅长服务器管理。

答案1

没有一个答案。

  • IPTables 数据包和字节计数将显示进入您服务器的新连接。我仅使用它来验证连接是否遵循正确的规则。
  • 我通常会查看 Web 服务器的访问日志。它提供了大量无法通过监控 TCP 堆栈轻松获得的信息。 tail -f日志中的记录有助于查看连接是否得到正确处理。
  • 观察 netstat 可以显示到端口 80 和/或端口 443 的连接。TCPDUMP 将显示数据包级别的监控数据。
  • 在 apache 中启用服务器状态允许您查询服务器正在做什么以及最近做了什么。
  • 像 munin 这样的系统监视器可以跟踪网络服务器上的访问和负载。
  • 像 awstats 这样的日志分析工具会为你提供相对最新的数据,其中包含历史记录和大量有用的细分信息。这对于查看一段时间内的趋势非常有用。
  • Google Analytics 将为您提供与 awstats 类似的信息,但基于访问您的网站时运行的活动代码。

哪种解决方案合适取决于您的需求。您可以选择使用多种解决方案。

答案2

这会起作用但是很不安全...

watch -n 0.5 "netstat -ano | grep -v unix | grep ESTABLISHED | grep \:80"

答案3

阿帕奇可能是您的解决方案。

这是一个基于控制台(非 GUI)的监控工具,它从一个或多个 Apache 服务器读取服务器状态页面,并将信息合并到一个简单的监控屏幕上。

示例输出如下所示:

last hit: 20:03:08         atop runtime:  0 days, 00:00:40             20:03:09
All:          203 reqs (   5.2/sec)       2678.4K (   68.7K/sec)      13.2K/req
2xx:     203 ( 100%) 3xx:       0 ( 0.0%) 4xx:     0 ( 0.0%) 5xx:     0 ( 0.0%)
R ( 30s):     148 reqs (   4.9/sec)       2286.0K (   76.2K/sec)      15.4K/req
2xx:     148 ( 100%) 3xx:       0 ( 0.0%) 4xx:     0 ( 0.0%) 5xx:     0 ( 0.0%)

 REQS REQ/S    KB KB/S URL
    2  0.10   7.9  0.4*/images/persons/ahmet-buke.jpg
    2  0.10  10.3  0.5 /images/persons/rm_24_s_0.gif
    2  0.14  86.0  6.1 /images/banners/kitap/hegel-14kasim-o(1).jpg
    2  0.09   2.7  0.1 /themes/yeni//includes/languages/turkish/images/buttons
    2  0.09  11.7  0.5 /images/services/pinterest.jpg
    2  0.07   5.8  0.2 /themes/yeni/images/kedi.gif
    2  0.09   4.4  0.2 /images/services/google-plus.jpg

答案4

TCPDUMP 将能够向您显示与服务器的实时连接。

相关内容