故障排查思路
1、排查思路
主要排查点:网络策略→ 系统 → 应用 → 数据库 → 外部依赖 → 安全设备
逐层排查,才能不遗漏。
1.1 网络层:先看“通不通”
主要使用ping,traceroute,telnet,curl等命令。
# 测试服务器是否能通,ping域名或IP ping -c 4 10.0.0.110 ping www.ligelinux.com # 路由追踪,看看卡在哪一跳 traceroute 10.0.0.110 # 测试端口连通性 telnet 10.0.0.110 8089 # HTTP接口连通性 curl -I http://www.ligelinux.com
常见问题:网络策略变动,路由抖动、运营商网络波动、防火墙规则更新。
1.2 系统层:资源够不够
# 查看CPU、内存、负载情况,资源是否充足 top uptime free -h # 查看磁盘使用情况 df -h du -sh /data/* # 系统日志 journalctl -xe tail -n 200 /var/log/messages
常见问题:CPU打满、内存不足、磁盘满导致服务无响应。
1.3 应用层:服务是否正常
服务不正常一般会出现503错误
# 查看服务状态,比如的nginx,排查时更换成你的服务就行 systemctl status nginx ps -ef | grep 服务名字 # 检查端口监听 ss -tulnp | grep 端口 # 查看应用日志 tail -f /var/log/xxx.log # 本地检查应用是否正常 curl -v http://localhost:your-port/health
常见问题:进程挂掉、端口没监听、依赖服务未启动。
1.4 数据层:库和缓存撑不住
主要检查数据库是否正常。连不上一般会在日志里报错
主要排查数据库是否正常
# MySQL是否能连 mysql -uroot -p # MySQL是否卡锁 mysql -e "show full processlist;" # Redis连通性 redis-cli -h redis-host ping # Redis慢日志 redis-cli -h redis-host slowlog get 10
常见问题:数据库连接数爆满、慢查询、Redis阻塞。
1.5 外部依赖
有些系统会调用外部接口,也有可能是外部应用出问题了。
# 测试外部API健康性 curl -I https://xxx.com/health # DNS解析 nslookup xxx.com dig xxx.com # CDN是否正常 curl -v https://xxx.com | grep -i "cache"
常见问题:第三方接口超时、DNS劫持、CDN缓存异常。
1.6 安全设备层:别忽略“拦路虎”
很多时候,业务并不是挂了,而是被 安全设备拦截,一般是出现403字样。
看看安全设备是否有拦截记录。
-
WAF(Web应用防火墙):拦截了特定请求,比如带有敏感参数或 SQL 关键字。
-
防火墙/安全组:有时候策略更新导致流量被拦截。
iptables -L -n -v firewall-cmd --list-all
-
IDS/IPS(入侵检测/防御系统):突然发现请求量大,被判定为攻击流量。 建议与安全团队对接,确认是否有误拦。
常见问题:安全策略过严、误拦合法流量、规则变更未通知。可以通过加白解决。
2、排查信息收集清单
排查时必须收集以下信息:
-
用户报错截图
-
相关服务日志
-
系统指标:CPU、内存、磁盘、网络
-
应用指标:进程,端口,日志
-
外部依赖状态
-
安全设备:WAF拦截,FW策略,IPS日志
信息齐全,排查效率提升 3 倍以上。
540

被折叠的 条评论
为什么被折叠?



