如何实时跟踪我的服务器的流量?

如何实时跟踪我的服务器的流量?

我想知道我是否应该在家里部署一个带有 apache2 的服务器。我想实时了解我的网站当前的流量是多少。

谢谢,麻烦您了。

:)

答案1

您可以安装可实时监控各种 tcp 和 udp 信息的软件包iptraf。页面点击次数会实时记录在您配置的 apache 日志中。您可以扫描该文件以查找与您的时间段相匹配的行数,也可以使用类似皮维克为您的 apache 服务器提供类似于 google analytics 的分析。

答案2

我经常添加状态模块到我的 Apache 配置,以便我可以检查 Apache 的运行状态(此示例将访问限制为仅localhost状态请求)。

这进入虚拟主机配置:

 # Server status
 <IfModule mod_status.c>
  <Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from localhost
  </Location>
 </IfModule>

这适用于通用服务器配置(我使用过/etc/apache2/conf.d/10status.conf):

# Turn on extended status collection
<IfModule mod_status.c>
    ExtendedStatus On
</IfModule>

然后我确保mod_status已启用:

sudo a2enmod status

之后我就可以访问http://your-virtual-host.example.com/server-status并获取各种详细信息,包括高级摘要,如下所示:

Server uptime: 7 days 22 hours 56 minutes 45 seconds
Total accesses: 292855 - Total Traffic: 5.6 GB
CPU Usage: u85.78 s8.21 cu1.49 cs0 - .0139% CPU load
.426 requests/sec - 8.5 kB/second - 19.9 kB/request
2 requests currently being processed, 8 idle workers
....
Srv PID Acc M   CPU     SS  Req Conn    Child   Slot    Client  VHost   Request
0-1 27078   0/9/21119   _   0.06    3   101 0.0 0.04    372.17  67.195.113.233  example.com GET /foo.php?state=ND&thing=Madison
1-1 -   0/0/21273   .   0.01    137 0   0.0 0.00    402.35  128.61.99.146   example.com GET /favicon.ico HTTP/1.1
....

我特别喜欢每秒请求数,以及有关正在(或最近)提供的 URL 的详细报告。

答案3

我建议使用阿帕奇,不幸的是它似乎停止了开发,但是效果很好。

本网站更为近期。

答案4

ssh root@HOST tcpdump -U -s0 -w - '不是端口 22' | wireshark -k -i -

HOST = 你的网络服务器从菜单中选择“Statistics”并单击“IO Graphs”

相关内容