可能重复:
如何在Ubuntu上通过Apache中的虚拟主机监控带宽使用情况
我正在运行一个托pipe多个域名的Ubuntu 10.04服务器。 所有域指向相同的IP地址并使用相同的networking接口。 我真的只关心主域名,如my-domain1.com
和my-domain2.com
。 它应该包括诸如www.my-domain1.com
这样的子域,其总数为my-domain1.com
。 是否有一个工具可以configuration来跟踪每个域名的带宽使用情况?
编辑:我不只是在寻找networking使用。 我正在寻找所有的stream量。
没有办法监视使用域名的所有服务的stream量。 你需要有一个IP为每个域名来做到这一点。 您可能会监视给定服务的使用情况,具体取决于这些服务是否在维护域名的请求中维护信息。 一个这样的服务是一个networking服务器做虚拟主机。 做虚拟主机的Web服务器需要知道域名来parsing虚拟主机。
您可以使用服务器日志来确定您提供多less带宽。 像awstats这样的工具会报告服务的带宽。 传入带宽没有被报告,但是通常显着小于传出带宽。
简短的回答是,你不能这样做。
漫长的回答是,你可以以有限的方式去做。
简短的回答:不能因为DNS将请求parsing为IP地址,然后客户端将连接到IP。 一旦DNS转换了它,就没有办法知道它正在请求哪个主机名。
长答案:HTTP 1.1协议需要一个“主机:”标题。 即浏览器将请求的主机名发送给Web服务器。 这是一个Web服务器如何知道什么网站出来。 这就是虚拟主机能够在同一个IP地址上工作的方式。 因此,从理论上讲,HTTP可以计算出每个地址有多lessstream量。
其他networking服务可能具有与HTTP类似的function。 但是,许多人却没有。 因此,这只是真正的部分可能。
有很多工具可以loggingHTTPstream量统计和HTTP负载。 我不确定哪些网站可以做到这一点。 例如rrdtool可能是一个不错的select