如何在 Ubuntu 上的 Apache 中监控虚拟主机的带宽使用情况

Sha*_*ane 4 ubuntu bandwidth monitoring virtualhost apache-2.2


我的环境:

Apache 2.2.9,Ubuntu 8.10


我试图找到一种方法来监视由每个虚拟主机分解的服务器上的带宽使用情况,而无需安装能够修改我的服务器的 PLESK、CPanel 或 ISPConfig 之类的东西。我想我正在寻找只读解决方案。由于我手动管理服务器,因此我不喜欢安装可通过网络访问的第三方管理面板的想法。

我什至(不一定)对从系统中获取图形数据不感兴趣,只要我能在一些有用的时间增量(如周/月/日)中按域(最好也是子域)查看带宽使用情况。在没有时间增量的情况下,我将只在 cron 中运行它并手动捕获必要的基于时间的增量。

我目前将 Cacti 作为系统监视器运行,但一直无法找到可以添加到 Cacti 的任何内容来收集我需要的数据。我确实看过 AWStats,但据我所知,它只给出了整个系统带宽的使用情况,而不是 VHost(如果我在那里弄错了,请更正)。

那么,是否有我可以安装的软件包已经可以做到这一点?

我可以修改 Cacti 以显示此信息吗?

如果上述情况不是,是否有一些我可以运行的 bash 脚本会给我这个输出,我以后可以将其集成到我自己的代码中?

提前致谢!

小智 5

你要找的是:http : mod_logio
//httpd.apache.org/docs/2.0/mod/mod_logio.html

这将允许记录每个请求接收/发送的输入和输出字节数。然后,您可以从特定虚拟主机的日志中提取它。我相信像 Webalizer 这样的应用程序会为您读取日志并为您提供良好的使用情况。

一些参考资料:
http : //www.debian-administration.org/users/chris/weblog/2 http://onlamp.com/pub/a/onlamp/2007/02/02/apache-debugging-logs.html