文章总结: 本文提供15分钟业务宕机排查指南,核心逻辑为先定范围再分层排查。涵盖网络、系统、应用、数据等六大维度的实战命令,如ping、top及mysql等。文章建议同步收集故障信息,事后通过根源复盘、监控优化及脚本沉淀避免重复踩坑,帮助运维人员快速恢复业务。 综合评分: 85 文章分类: 应急响应,实战经验,安全运营
15分钟搞定业务宕机!运维必备排查指南(附实操命令)
原创
小柳实验室
小柳实验室
2025年12月23日 12:47 湖南
令)
“业务崩了!”“用户全在投诉!”——作为运维人,宕机应急就像家常便饭,但每延迟1分钟恢复,都可能造成损失。其实不用慌,掌握“定范围+分层查”的核心逻辑,15分钟就能定位问题、恢复业务!
本文整理一线实战精华,聚焦最实用的排查步骤、命令和案例,新手能直接套用,老手可快速参考。
一、3分钟应急:先圈范围,不做无用功
排查前别盲目敲命令,先花3分钟明确3个问题,快速缩小排查半径:
- 1. 影响谁?:单个用户/特定地区/全量用户?(地区性问题优先查CDN/运营商)
- 2. 哪块崩?:全站/特定模块(支付/登录)/前端/后端?(模块问题聚焦对应服务)
- 3. 怎么崩?:持续宕机/间歇性波动?是否发生在流量高峰/版本更新后?(高峰优先查资源,更新后查配置)
举例:仅深圳用户无法下单,1小时前调整过CDN → 直接锁定CDN区域节点,省一半时间!
二、10分钟分层排查:6大维度,逐一突破
按“网络→系统→应用→数据→外部依赖→安全设备”顺序排查,不遗漏关键节点,每个维度控制1-2分钟实操。
(一)网络层:1分钟判“通不通”
核心验证链路和端口,命令直接复制用:
- • 服务器连通性:
ping -c 4 服务器IP/域名(Request timeout=不通) - • 路由定位:
traceroute 服务器IP(某一跳超时=故障节点) - • 端口测试:
telnet 服务器IP 端口(如8080,Connection refused=端口未开) - • 接口验证:
curl -I 接口地址(200=正常,4xx/5xx=异常)
常见问题:防火墙封禁端口、运营商波动 → 临时放行端口或切换备用线路。
(二)系统层:2分钟查“够不够”
资源耗尽是宕机头号原因,重点看CPU/内存/磁盘:
- • CPU/负载:
top(按P排序,%CPU>90%=过载)、uptime(负载值>CPU核心数=压力大) - • 内存:
free -h(available接近0=内存不足) - • 磁盘:
df -h(分区使用率>85%=预警,>95%=满了)、du -sh /data/*(定位大文件) - • 日志:
journalctl -n 100 /var/log/messages(搜OOM/disk full=关键报错)
应急处理:杀无用进程(kill -9 进程ID)、清理旧日志(echo "" > 日志文件)。
(三)应用层:2分钟验“活不活”
服务异常常报503,重点查进程/端口/日志:
- • 服务状态:
systemctl status 服务名(如nginx,active=正常) - • 进程检查:
ps -ef | grep 服务名(无结果=进程未启动) - • 端口监听:
ss -tulnp | grep 端口(无结果=端口未监听) - • 日志/健康检查:
tail -f /var/log/应用.log(搜ERROR)、curl -v http://localhost:端口/health(UP=正常)
常见问题:进程崩溃、端口冲突 → 重启服务、释放端口。
(四)数据层:2分钟看“撑不撑”
数据库/Redis故障直接卡业务,重点查连通性和性能:
-
• MySQL:
-
• 登录测试:
mysql -u用户名 -p -hIP(登录失败=服务停/密码错) -
• 阻塞/慢查询:
mysql -e "show full processlist;"(Locked=阻塞,时间>60s=慢查询) -
• Redis:
-
• 连通性:
redis-cli -h IP ping(PONG=正常) -
• 慢日志:
redis-cli -h IP slowlog get 5(定位慢命令)
应急处理:杀阻塞进程(kill 数据库进程ID)、临时扩容数据库连接数(set global max_connections=2000)。
(五)外部依赖:1分钟核“联不联”
第三方接口/CDN/DNS故障易被忽略:
- • 第三方API:
curl -I 接口地址(响应超时/5xx=第三方故障) - • DNS解析:
nslookup 域名(解析错误IP=劫持/配置错) - • CDN:
curl -v 域名 | grep cache(HIT=命中,节点故障则刷新缓存)
应急方案:切换备用接口、临时换DNS(如223.5.5.5)。
(六)安全设备:1分钟查“拦不拦”
报403大概率是误拦:
- • 防火墙:
iptables -L -n(查DROP规则)、firewall-cmd --list-ports(确认端口放行) - • WAF/IPS:联系安全团队查拦截日志 → 临时加白合法IP/请求。
三、2分钟信息收集:为复盘留依据
排查时同步收集这些信息,后续复盘更高效:
- 1. 用户报错截图(含错误码、时间)
- 2. 系统/应用日志关键片段
- 3. CPU/内存/磁盘/网络监控数据
- 4. 服务/数据库/第三方接口状态记录
四、事后关键:3步避免重复踩坑
- 1. 根源复盘:明确是资源/配置/代码/第三方问题,划分责任;
- 2. 监控优化:核心指标(CPU/连接数/接口响应时间)设告警(短信/钉钉);
- 3. 脚本沉淀:常用排查命令写成脚本(如系统资源检查脚本),一键执行。
总结
宕机排查的核心不是记多少命令,而是“先定范围,再分层突破”。按本文流程,15分钟内就能定位80%以上的故障。收藏这份指南,下次宕机直接套用,从容解决问题!
觉得有用?点赞+在看,转给身边的运维小伙伴~ 评论区聊聊你遇到过的奇葩宕机问题!
📬 关注我
推荐阅读
SCP 与 rsync 到底怎么选?运维老鸟的文件传输避坑指南
效率拉满!Docker+Nginx 一站式部署 Java(JAR/WAR 通用),运维再也不加班
别再搞混Nginx和OpenResty!90%运维都踩过的坑,一文讲透核心差异
开发运维必备神器!HexHub 一站式搞定数据库、SSH、Docker 所有需求
网络排查神器!掌握 tcpdump,让网络故障无处遁形
MySQL 与 PostgreSQL:两个老对手的技术对决与选型指南
高性能存储刚需党必看!Docker 部署 RustFS,效率直接拉满
别再用第三方短链了!这个开源神器3分钟搭建专属短网址平台
Linux服务器重启后服务不自启?systemd实战指南 + 混沌演练验证
502 Bad Gateway 不是终点:一次生产事故背后的全链路复盘
备份做了,但能恢复吗?MySQL 数据恢复终极指南来了!
Firewalld 实战全攻略:从入门到精通,搭配 ipset 打造高效防护体系!
命令行也能玩转 WebSocket?别再用浏览器调了
MySQL 自动化备份脚本:安全、高效、免维护
Docker磁盘空间告急?3分钟教你彻底清理,释放大量空间!
Nginx 如何正确代理 SSE 与 WebSocket?一篇讲透长连接配置
【实战】打造超强Linux防火墙!10分钟提升服务器安全等级
一个不存在的用户,竟让MySQL 8.4当场崩溃?背后藏着甲骨文不敢明说的安全暗战!
无公网IP!NPS内网穿透终极指南,Docker一键部署
告别 Docker Hub 依赖!从零部署高可用 Harbor 私有镜像仓库
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:小柳实验室 小柳实验室《15分钟搞定业务宕机!运维必备排查指南(附实操命令)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论