我已经进行了搜索和谷歌,并找到了监测每个虚拟主机带宽的方法。
我需要的是一种方法来监视我的文档根的子文件夹的输出带宽(并最终挂起)。(我让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 -
事先非常感谢!
发布于 2013-04-19 19:32:25
我想你们自己已经给了一个答案了。
在日志文件条目中,可以以字节读取下载:
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 = none,即从浏览器缓存读取该文件)。
有许多日志文件分析器可用。这种格式是“通用日志格式”--如果您搜索它,您可能会找到它。否则,自己写一些东西就不难了。这至少会给你一个很好的近似。
请记住,主机通常被设置为不记录jpegs和gifs之类的东西,因为日志文件在大型流量站点上增长非常快。这样的限制将使这一分析变得相当无用。
https://serverfault.com/questions/486418
复制相似问题