如何将服务器stream量关联到该服务器上托pipe的域?

我有三台或四台Linux服务器,每台服务器可以托pipe5到50个域。 每个域都有自己的文件夹:

/ WWW /项目名称/networking/

日志进入:

/ WWW /项目名称/日志

但是,如果出现stream量高峰(或者,就像我看到的那样,内存使用率高峰),我不知道如何确定哪个域负责stream量,而不对每个项目运行tail -f并根据事情滚动的速度进行有根据的猜测。

有一个更好的方法! 可能有,但我没有看到它。 而最后一次检查,带宽监视器只报告系统负载。

所以如果有人知道如何做到这一点,请让我知道。

谢谢!

编辑:我的目标是提供即时反馈的东西。 我知道我可以configurationApache来logging发送和接收的字节,但是如果我的服务器正在被攻击,我不知道哪个域的所有stream量来自哪个域。

您也可以启用Apache状态页面并将其限制到您的IP,然后查找请求页面的趋势。

示例输出: http : //www.apache.org/server-status

组态:

<Location /server-status> SetHandler server-status Order Deny,Allow Deny from all Allow from <your IP> </Location> 

你可以使用apachetop:

 apachetop -f /www/projectname/log/access_log 

它为您提供关于指定日志的进出BW的统计信息。

看看mod_cband插件。 然后,如果将插件添加到每个域的configuration文件中,则可以为每个虚拟域提供实时stream量级别。 只要为每个域使用相同的记分板。 / cband-status页面将为您提供每个域的当前stream量级别的统计信息。

当您是虚拟主机(一个IP地址上有多个域)时,您只能通过parsingApache日志文件来测量stream量。 只有apache知道哪个主机有请求,因为这就是虚拟主机的工作原理。

在这种情况下,您可以为每个虚拟主机添加一个不同的CustomLog行,如:

结合了CustomLog $ {APACHE_LOG_DIR} /host.domain.net.log

然后,您可以使用日志处理软件(如webalizer)来处理日志,为每个响应添加字节,并为该域提供近似的stream量。

这是一个近似值,因为它不包含通信请求部分中的字节,也不包括开销。

但是,如果您只是试图查看哪个网站正在遭受攻击,那么您应该可以访问/ server-status页面,它会告诉您所有当前/最近的活动来自哪里。

如果您确实需要确切的字节数,唯一的可能是使用基于IP的虚拟主机,并使用软件来统计到每个IP地址的stream量的实际字节数。 在这些情况下,我发现的最好的软件是pmacctd“混杂模式会计守护进程”,它在每IPstream量统计方面做的很好。

问候,安德鲁麦克米兰。