AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 100449
In Process
hdanniel
hdanniel
Asked: 2010-01-08 06:44:43 +0800 CST2010-01-08 06:44:43 +0800 CST 2010-01-08 06:44:43 +0800 CST

诊断 Web 服务器故障的更好方法

  • 772

昨天我的网站关闭了很短的时间。我登录了我的服务器,我的第一反应是重新启动 apache Web 服务器。之后一切正常。所以我开始检查神经节指标,看看发生了什么。很明显,在我重新启动 apache 的前一分钟,对 web 服务器的请求数非常多,超过了 Apache 的限制并阻塞了其他请求。

我手动检查了 apache 日志,过滤了重启前后的流量分钟。没有任何不对劲的迹象。我还使用一些工具(awstats、bots 脚本等)分析日志,结果相似。我对错误日志做同样的事情,仔细检查一些奇怪的行为。没有成功。

所以我很确定问题是对 apache Web 服务器的请求突然增加。但我不知道这是怎么发生的,如果这是一次攻击,一些讨厌的错误,应用程序中的问题,或者其他我不知道的事情。如果在您的 Web 服务器中发生类似的事情,您会怎么做?您还使用哪些其他工具?您还检查了哪些其他日志?重启网络服务器作为解决问题的第一个措施是错误的吗?

linux apache-2.2 troubleshooting diagnostic
  • 2 2 个回答
  • 388 Views

2 个回答

  • Voted
  1. Bart Silverstrim
    2010-01-08T07:11:40+08:002010-01-08T07:11:40+08:00

    回复:重新启动服务器作为第一个措施......“It Depends”的另一个很好的例子:-)

    如果这是一个必须启动服务器的系统,我认为我不会先重新启动它。

    我会浏览日志,也许在 apache 日志上有一个 tail -f 来查看实时发生了什么。

    我也可能会打开另一个窗口并通过wireshark检查是否有任何可疑之处,只是为了查看哪些流量正在撞击(和离开)系统。

    否则,请检查系统负载、驱动器活动、进程列表、网卡活动,以验证它是流量而不是软件相关。检查内存/交换使用情况。检查 Apache 进程的数量,看看它们是否已用尽。

    大多数情况下都不需要重新启动,虽然它显然解决了问题,但它并不能解决导致问题的原因,这意味着您可能会接到另一个电话(可能在更不方便的时间)快点再次修复它。不应该通过定期的计划外重新启动来维护任何服务器。

    重新启动可能是一种让上级或用户在炎热时远离你的方式,但另一方面,你可能已经失去了弄清楚到底发生了什么事情的机会。奇怪的是,攻击会在重新启动后突然停止,除非它是端口扫描或 Web 服务器扫描程序,此时您的服务器“消失”可能已经发出继续前进的信号。

    如果它是一个必须一直运行的系统,您可能需要考虑某种故障转移和负载平衡解决方案。这也将有助于故障排除,并让您在诊断问题时更灵活而不会丢失连接(尽管您需要更多的自动化监控来告诉您系统 A 有问题,但由于 B 站点仍在工作,因此用户不会告诉你有问题)。

    • 3
  2. Josh
    2010-01-28T05:12:36+08:002010-01-28T05:12:36+08:00

    我在表现出类似症状的 apache 网络服务器上使用了一个粗略但有些有效的措施。我有一个每分钟运行的 cron 工作

    curl -s http://localhost/server-status > `date!`
    

    这样,如果 apache 服务器队列填满了请求(它有时会出于未知原因这样做:Apache 被某些请求“阻塞”)我有一个导致请求发生的日志。它还有助于解决高负载时刻。

    我也强烈推荐Cacti和Nagios进行监控

    • 1

相关问题

  • 网速慢 - 我应该检查什么?

  • mod_rewrite 不转发 GET 参数

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve