当服务出现故障时,比如服务不可达,无法远程访问,应用程序报错等故障时,常用的排查思路整理如下。
确定故障和检查硬件
当发现服务器出现故障时,应详细记录故障发生的具体情况。包括:
- 故障发生时间,故障发生规律,故障是否具有规律性等
- 故障的具体表现,如服务器无法连接,应用程序报错,端口未开放等
- 故障发生前是否有特殊操作,如系统更新,软件安装,修改配置等
如果使用的不是云服务器而是自有硬件,还需要检查硬件设置状态
- 查看服务器电源指示灯是否正常,硬盘指示灯是否有异常闪烁,cpu风扇是否正常运转,是否有异响或异味。
- 检查交换机、路由器等常用网络设备是否存在异常,检查网络设备的指示灯状态,确认网线连接是否牢固。
- 若服务器配备硬件监控系统,登录查看硬件健康状态报告,排查是否有硬盘故障,内存报错,电源问题等。
验证是否存在网络问题
本地网络测试:在服务器本地使用ping命令测试与网关、DNS服务器的连通性,检查防火墙。
远程连接测试:从客户端尝试ping服务器ip,使用traceroute命令追踪路由,判断故障节点。
端口状态检查:在服务器上使用netstat或者ss命令查看端口的监听状态,确认应用程序所需端口是否正常开放。
查看、分析日志
查看系统生成的各种日志文件,定位故障发生的原因,比如/var/log/messages(系统通用日志),/var/log/auth.log(认证相关日志)等,使用grep筛选关键词(如error、fail)快速定位问题。
针对服务器上运行的应用程序(如web服务,数据库。中间件等),查看其专属日志。如,web服务,Nginx日志通常在/var/log/nginx/access.log和error.log,apache日志在/var/log/apache2/目录下。或者去配置文件中查看日志路径,在对日志文件进行排查。数据库,mysql日志包括错误日志,慢查询日志等。
尝试重启服务或设备
重启服务:若定位到某一服务异常,先尝试重启该服务观察是否恢复正常。
重启服务器:排除掉硬件故障风险后,可以尝试重启服务器,在重新启动服务来观察是否恢复正常。(需提前通知相关用户,避免数据丢失)。
评论 (0)