pka*_*ing 25 bandwidth monitoring virtualhost apache-2.2
我设置了 Apache 来为多个虚拟主机提供服务,我想看看每个站点使用了多少带宽。我可以看到整个服务器使用了多少,但我想要更详细的报告。
我发现的大多数事情都是为了限制虚拟主机的带宽,但我不想这样做;我只想看看哪些网站使用了多少带宽。
这不是为了计费目的,只是为了提供信息。
是否有我应该使用的 apache 模块?或者有其他方法可以做到这一点?
Xer*_*xes 24
您想要的信息都在日志中,因此您应该查看日志分析器,例如AWStats。另一种选择是使用 Google Analytics。
为了分析日志,这里有一个粗略的例子,你可以用它来告诉你一个日志文件从命令行报告了多少 MB 的流量:
cat /var/log/apache/access.log | awk '{SUM+=$10}END{print SUM/1024/1024}'
Run Code Online (Sandbox Code Playgroud)
我建议您使用精彩的 apache 日志记录机制及其鲜为人知的%I和%O标志:
定义格式:
LogFormat "%t %a %v %U%q %I %O" IOFormat
在您的主httpd.conf中使用它:
CustomLog /var/log/apache2/all-bw.log IOFormat
这些值可能没有考虑所有标头信息,但对于精确了解 VirtualHost 流量来说非常准确。
使用 perl 脚本扫描日志,每 n 分钟(例如 5 分钟)聚合每个虚拟主机,并将其发送到 cacti。
这些标志由 mod_logio 提供,它可能内置在您的 Apache 中(就像我的 Debian 的 Apache 一样)。