如何监控Apache2中文档根目录的每个子目录的出站带宽

我有一个search和谷歌,并find方法来监测每个虚拟主机的带宽。

我需要的是一种方法来监视我的文档根的子文件夹的传出带宽(并最终挂起)。 (我有cron运行一个全球带宽检查器)。

/srv/www/htdocs/user1files /srv/www/htdocs/user2files 

我不想要虚拟主机,因为我不想重新启动或“重新加载”Apache,每次添加“新用户”。

我在想,Apache的访问日志可能会提供一种使用awk的方法来将所有/ username1 /

 10.65.10.77 - - [10/Mar/2013:10:20:17 +0000] "GET /user1files/upload.php HTTP/1.1" 200 10945 10.65.10.77 - - [10/Mar/2013:10:20:17 +0000] "GET /user1files/styles.css HTTP/1.1" 304 - 

提前谢谢了!

我想你已经给出了一个答案。

在日志文件条目中,您可以读取下载的字节数:

 10.65.10.77 - - [10/Mar/2013:10:20:17 +0000] "GET /user1files/upload.php HTTP/1.1" 200 10945 10.65.10.77 - - [10/Mar/2013:10:20:17 +0000] "GET /user1files/styles.css HTTP/1.1" 304 - 

第一个文件是10945字节下载,第二个没有(HTTP响应304 =没有改变,即文件是从浏览器caching读取)。

有一些日志文件分析器可用。 格式是“通用日志格式” – 如果你search它,你可能会find一些东西。 否则,自己编写脚本不会太难。 那至less会给你一个很好的近似。

请记住,很多时候,主机设置为不logging像jpeg和gifs这样的东西 – 因为日志文件在大型stream量站点上的增长速度非常快。 这样的限制会使这种分析变得毫无用处。