如何排查Linux服务器崩溃的问题?

2021-01-20

众所周知,Linux服务器以可靠著称。在企业环境中偶尔的系统崩溃可能看起来影响不是很多,,但是准确地诊断系统故障的原因是必须的,因为系统故障可以明显影响潜在的软件或硬件问题指标。尽管故障诊断非常艰巨,但通过使用本指南中提到的工具,您可以确保你能够应对各种艰难的挑战。

因为每个服务器都是不同的,本指南并非在帮助你找出事故的确切原因。重点是你可以使用工具来获得重要信息来诊断问题。

Linux进程管理

服务器崩溃后第一步应该检查您的系统上运行的所有进程,以确保一切都是有效地运行。Linux内置的 Top命令允许您查看CPU使用率,内存使用,交换内存、缓存大小、缓冲区大小,进程PID、用户、命令等等。这些简单的命令可以对故障进行初始诊断分类以便立即您查看系统信息。

使用此命令简化终端top输出

Htop——一个功能更强大的解决方案这可以使服务器管理工作更容易,安装这个工具后,极大增强了故障排除能力,且提供更直观的信息。Htop的关键特性包括一个颜色编码接口; 快捷键; 水平和垂直滚动等等。然而Htop不是默认安装在Linux系统,可以使用下面的命令添加到基于CentOS和RedHat的系统,~ yum install htop在Ubuntu系统上,Htop可以用以下命令安装:~ sudo apt-get install htop

分析网络流量

有时候服务器崩溃将引发网络流量问题。有效的包分析是至关重要的决定是否在数据中心,客户端系统,甚至直接在服务器上引发崩溃问题。

Tcpdump

Tcpdump是可用于Linux系统的最广泛使用的命令行网络数据包分析工具之一。对于服务器管理员来说,这是一个至关重要的工具,因为它允许他们捕获或过滤在特定接口上通过网络接收或传输的TCP/IP数据包。该程序还允许您将数据保存到文件中以进行进一步分析。尽管在本指南中完全介绍Tcpdump的使用是不切实际的,但Tecmint.com还是提供了一个快速入门指南,供服务器管理专业人员在方便时使用。

Netstat

当您查询简单的网络统计信息时,Netstat是执行此任务的理想工具。此命令可用于监控传入和传出的网络数据包,以及查看每个网络设备的接口统计信息。与Tcpdump一样,在此处列出命令的数量也不切实际,但是Tecmint.com提供了有用的技术指南。

WireShark

Wireshark是几乎所有服务器管理员都必须使用的重要工具,因为它是服务器管理员可以使用的最强大且广泛支持的数据包监视工具之一。关键功能包括:〜VoIP分析,支持数百种通信协议,能够保存许多不同的捕获格式等等。对于任何类型的数据包分析,在大多数情况下,Wireshark可能都是服务器管理员唯一需要的工具。

检查日志

当所有其他方法均失败时,浏览服务器日志是解决所有错误的最佳方法之一。通常,文件位于/var/log/syslog和/var/log/目录中。但是查看原始日志通常是无用的,因为它们通常包含数千个条目,并且如果没有日志分析工具就不可能完全理解数据。简化日志分析的方法如果您要分析常规服务器流量日志,那么优秀的分析工具对于任务便于管理至关重要。对于Web服务器流量分析,AWstats是许多服务器管理员的首选工具,因为它是一个免费的应用程序,可以将数据图形化。尽管AWstats并不像前面提到的工具那样专注于底层信息,但是它提供了一些关键指标。借助AWstats,诸如HTTP错误,负载均衡服务器的集群报表,每小时流量日志以及高峰时间报表以及访问者IP地址等数据都是确定服务器崩溃可能触发因素的关键指标。对于需要高性能日志管理解决方案的用户,Site24x7提供了各种工具,适用于需要快速解决服务器问题的企业客户。除了监控包含60多个性能指标的服务器外,Site24x7还提供对日志管理工具的访问,该工具使对日志数据的筛选更加容易。该监视工具还提供了cron作业,任务,守护程序,文件和目录监控功能,使您可以更加主动的来提高安全性。