我想监控人们是否正在实时访问我的网站。我想在终端/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 将能够向您显示与服务器的实时连接。