我有一个运行多个虚拟主机网站的网络服务器。
有时会出现服务器负载非常高或网络服务器的网络响应非常慢的情况,我希望有一种方法可以查看我的各个虚拟主机上的当前活动,以查看是否是某个特定的域导致了此问题(即 DOS 等)
有哪些工具可以向我显示这些信息?
(请注意,我的网络服务器上有大约 10 个 IP 地址,但它们都在许多域/虚拟主机之间共享)
答案1
mod_status
非常适合此用途,如果打开,ExtendedStatus
它会显示当前正在服务的 URL 列表。ExtendedStatus
但是,如果不需要,请关闭它,因为它确实会导致(在极端情况下,会稍微明显地)性能下降。
答案2
您是否尝试过 Apachetop
http://www.webta.org/projects/apachetop/
(有关此内容的详细文章请参见此处:http://www.howtogeek.com/howto/ubuntu/monitor-your-website-in-real-time-with-apachetop/
答案3
如果您已经在使用某种特定的监控技术,您应该提及它。
但一般来说,您可以在每个虚拟主机块中放置以下指令来分别记录该虚拟主机,然后使用您使用的任何内容解析日志:
ErrorLog /var/log/httpd/foo_vhost-error_log common
CustomLog /var/log/httpd/foo_vhost-access_log common
然后,如果需要,只需调整日志轮换即可。然后,如果您有每日日志,您可以做一些非常简单的事情来获得命中,例如循环遍历日志并调用wc -l
每个日志。