我有一个运行多个虚拟主机网站的networking服务器。
每隔一段时间就会出现服务器负载变得非常高的情况,或者networking服务器的networking响应速度非常慢,我想有一种方法来查看我的variablesvirtualhosts上的当前活动,看看是否一个特定的域可能是负责任的(即DOS等)
有哪些工具可以向我显示这些信息?
(注意,我在networking服务器上有大约10个IP地址,但是所有这些IP地址都在许多域/虚拟主机之间共享)
mod_status非常适合你,如果你打开ExtendedStatus它会显示当前正在服务的URL列表。 当你不需要它的时候closuresExtendedStatus ,因为它确实会导致性能下降(在极端情况下会引起轻微的影响)。
你有没有尝试Apachetop
http://www.webta.org/projects/apachetop/
(大文章在这里: http : //www.howtogeek.com/howto/ubuntu/monitor-your-website-in-real-time-with-apachetop/
如果您已经使用了特定的监控技术,您应该提及它。
但总的来说,您可以在每个虚拟主机块中放入以下指令来单独logging该虚拟主机,然后使用您所使用的任何内容来parsing日志:
ErrorLog /var/log/httpd/foo_vhost-error_log common CustomLog /var/log/httpd/foo_vhost-access_log common
然后只需要调整日志旋转。 然后,如果你有每日日志,你可以做一些非常简单的事情,比如循环访问日志,并在每个日志上调用wc -l 。