因此,您有了这个设置整齐的 unix 服务器,它速度超快,运行良好,几个月来一切都很顺利,突然各种奇怪的错误开始出现在各种不同的服务中,而且它们本身都没有多大意义,更不用说放在一起了。
当您将 ssh 会话连接到机器后,您应该检查哪些便宜的东西?
我对强调不明显的命令和罕见情况的创伤故事特别感兴趣,但我想明显的命令因人而异,所以我们可以自由地列出它们。
答案1
第一顺序:它有响应吗?
如果您无法登录,则可能会出现更大的问题。这通常有两种情况:硬件故障和软件故障。两者都可能造成灾难性后果。为了防止 DFA 错误,请先检查硬件的总体健康状况 - 简单检查一下通常就足够了。
第二秩序:系统的底层结构是否健康、有序?
检查系统的“黄金三角”:
- 有足够的 CPU 时间进行处理
- 有足够的磁盘空间用于存储
- 有足够的内存可供工作负载使用
在过去的几十年里,三元组已经扩展为“四元组”,其中包括通信(网络):
- 连接功能齐全、响应迅速且容量大
第三顺序:问题的严重性如何?
哪些程序或服务受到影响?按严重程度降序排列,是系统性(系统范围)、集群性(一组程序)还是孤立性(特定程序)?程序集群通常会因为特定底层服务发生故障或无响应而出现故障。系统性问题有时与此有关(例如 DNS 或 IP 冲突),但知道从哪里查找通常是关键。
第四阶:诊断工具提供的数据是否与问题相关? 现在您已经掌握了有关系统健康状况(二阶)以及哪些部分出现了问题(三阶)的信息,这应该可以很容易地缩小问题的范围。
错误消息或日志文件应该是此旅程中的常见航点。
CPU 问题:
- 负载
- 顶部
- 斯特拉斯
磁盘空间/IO 问题:
- 自由度
- 杜
- lsof
- iostat
- 状态监测
内存问题:
- 自由的
连接问题:
- 平
- route (以及 arp 和 rarp 等)
- iptables、ipchains、ipfw(适用于 BSD 用户)
- traceroute 或 mtr
- hosts、nslookup 或 dig
- 网络状态
最常见的投诉(我听到的):
电子邮件发送速度不够快(从发送到收件人收到需要一分钟以上)或者电子邮件拒绝我的发送尝试。这通常是由于 Postfix 中的速率限制器在垃圾邮件风暴期间启动,从而影响接受内部发送的能力。
一个现实生活中的例子:
然而,情况并非总是如此。有一次,无论服务是否重新启动,问题仍然存在;因此,3 分钟后,是时候开始四处查看了。CPU 很忙,但低于 100%,然而,在一个只有 2 个核心的盒子上,负载飙升到 15,并且有继续上升的趋势。top 命令显示邮件系统处于超速状态,邮件扫描器也是如此,但没有看到 amavis 子进程。这就是线索——邮件队列命令 (mailq) 显示大约 150 多条未送达的消息,其中 80% 以上是垃圾邮件,在过去 20 分钟内。快速调整以降低速率限制器(这降低了垃圾邮件风暴的接收率)同时增加子电子邮件扫描器进程的数量(以帮助处理积压),然后重新启动服务,解决了该问题,系统能够在短时间内完成交付。
问题的原因是 amavis 父进程已经崩溃,子进程最终都运行完毕(它们在多次扫描后自行终止以防止内存泄漏)。因此,postfix 中的 SMTP 进程试图联系......虚无......以进行所需的垃圾邮件/病毒扫描。我使用的发行版有过时的软件包,永远不会更新;由于安装将在一年左右后被替换,我手动将安装“覆盖”到最新版本,其中包括几个错误修复。从那以后,我再也没有遇到过同样的问题。
答案2
通常是“who”后面跟着“last”
我多次管理的机器上出现的大量问题都是因为对“未受影响”的定义非常宽泛 - 通常有人做了一些事情:)
答案3
好,我先开始了。
这个问题困扰了我一次,我花了几个小时尝试了数千种不同的方法,禁用了各种服务,重新启动等等。问题是什么?磁盘空间完全用完了。
因此,这是我在调试突然出现问题的服务器时输入的第一件事:
df -h
我现在永远不会忘记这一点。它让我省去了很多无用功。我想分享一下。
答案4
如果可以的话我会尝试关闭除管理网卡之外的所有网卡。