服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-09-03 更新于 2026-09-03 简米科技 3,751 字 9 分钟阅读

业务突然不可用时第一时间该做哪些自查,怎么排查?

导读业务突然不可用,第一时间不是找开发,不是重启服务,而是先做一套标准化自查动作,这套动作决定你是在5分钟内恢复业务,还是把故障拖成事故,顺序错了,补救就慢了,业务突然不可用先自查什么?按这个顺序不容易漏系统出问题时,人容易慌,一慌就乱点,乱重启,最后日志也没留,现场也破坏了,正确做法是把自查当成探案,按线索顺序走……

业务突然不可用,第一时间不是找开发,不是重启服务,而是先做一套标准化自查动作。这套动作决定你是在5分钟内恢复业务,还是把故障拖成事故,顺序错了,补救就慢了。

业务突然不可用先自查什么?按这个顺序不容易漏

系统出问题时,人容易慌,一慌就乱点,乱重启,最后日志也没留,现场也破坏了,正确做法是把自查当成探案,按线索顺序走,别跳步。

第一步:确认影响范围,别急着碰服务器

先问自己三个问题,用笔或记事本记下来:

  • 完全不可用还是部分不可用?是所有用户报错,还是只影响某个地区、某个功能模块?
  • 你这边能复现吗?自己在测试环境或者线上随便点一个页面,看是白屏、超时、还是报500/502/504。
  • 最近一次变更是什么时候?发布过代码、改过配置、动过数据库,哪怕只是改了个字段,都得记下来。

这一步不是让你修,是让你圈定战场,多数情况下,故障定位慢不是因为问题复杂,而是因为一开始就没确认好影响边界,后面全在瞎猜。

第二步:先看监控告警,再决定要不要登服务器

行业共识认为,70%以上的故障在发生前都有预兆,只是告警被忽略或者阈值设太高,所以自查的第二步,是打开你的监控面板,重点看这四类指标:

  1. CPU使用率:是瞬间飙高还是缓慢爬升
  2. 内存占用:有没有接近物理上限,SWAP是不是在持续增长
  3. 磁盘空间:日志盘写满没有,数据盘还剩多少
  4. 网络带宽:入方向和出方向流量是不是异常

有条件的团队,还能看错误日志的滚动速度慢查询数量接口响应时间分位数,监控面板上如果显示某个接口的P99响应时间从200ms变成2000ms,那问题大概率就在那条链路上。

第三步:按优先级执行自查动作

监控没有问题的话,就把下面这张表当成你的自查清单,从上往下逐条过。

优先级 自查项 判断标准 动作
P0 局域网/网络连通性 ping网关通不通 不通则检查交换机、防火墙策略
P0 核心进程状态 ps -ef | grep java 进程不在就拉日志找崩溃原因
P1 端口监听状态

业务突然不可用时第一时间该做哪些自查,怎么排查?

netstat -anp | grep 8080

端口没监听说明应用没起来
P1 对外服务首页 curl -I http://你的域名 非200或超时说明入口层出问题
P2 业务日志尾部 tail -200 error.log 看有没有OOM、连接池耗尽、锁等待
P2 数据库连接数 show processlist; 连接数跑满说明连接池泄漏或有慢SQL

不需要全部做完,优先做P0和P1,如果P0和P1都正常,再往应用层深挖。

第四步:记录现场,再动手修复

很多人一上来就重启,以为重启能解决一切,但重启会把崩溃现场的线索全部抹掉,正确的姿势是:

  • 先把当前进程的线程栈dump下来:jstack 进程号 > /tmp/stack.log
  • 把错误日志和慢日志完整拷一份再动手
  • 记录当前时间点和各系统状态截图

做完这些,才允许你重启服务或回滚代码,保存现场是运维的基本功,也是将来复盘和甩锅的关键证据。

系统故障排查:先看业务还是先看服务器

这是个经典问题,也是团队里经常争论的点,我的答案是:先看业务,再看服务器,原因很简单,业务状态是结果,服务器状态是原因之一,你直接看服务器,看到CPU满了,但不知道是为什么满的;但如果你先看业务,看到用户报的是“上传图片超时”,你就能直接联想到存储IO、带宽、或者对象存储服务,排查方向完全不一样。

业务视角:让用户告诉你问题在哪

用户遇到故障时,报上来的信息往往只有一个“打不开”,但你得学会翻译这句话:

  • “页面转圈圈” → 前端请求没返回,可能是后端处理慢或网络丢包
  • “点按钮没反应” → 可能是前端JS报错,也可能是接口超时
  • “提示系统繁忙” → 说明业务层做了降级或限流
  • “数据不对” → 大概率是缓存没刷新或数据库主从延迟

把用户描述翻译成技术术语,你的排查范围直接缩小一半。

服务器视角:用命令快速定位资源瓶颈

业务视角圈定方向后,再上服务器验证,我推荐一套黄金命令组合,三分钟能跑完:

uptime                 # 看负载均值,1/5/15分钟
free -h                # 看内存和SWAP
df -h                  # 看磁盘剩余空间
iostat -x 1 3          # 看IO等待时间
top -Hp 应用PID        # 看哪个线程在吃CPU

业务突然不可用时第一时间该做哪些自查,怎么排查?

跑完这套命令,你基本能判断出是资源型故障还是逻辑型故障,资源型故障(比如磁盘满、内存溢出)在命令输出里一目了然;逻辑型故障(比如代码死循环、死锁)则需要结合线程栈和日志分析。

业内专家指出,多数线上故障的根源不是硬件,而是代码变更、依赖服务抖动、数据量增长这几类问题,所以服务器检查只是验证手段,别陷在服务器里出不来。

业务不可用损失怎么算?把账摊开再决定下一步

自查过程中,你会面临一个现实问题:这个问题值不值得马上处理,还是可以等一等,别觉得这个问题傻,很多时候业务不可用不算真正的故障,真正的故障是处理过程中误操作把影响面扩大

按用户量和业务类型先算一笔账

给业务算损失,不需要精确到多少钱,心里有个量级就行:

业务类型 每小时的估算损失 容忍时间
电商交易类 较高,直接关联流水 最短,分钟级
内部管理系统 偏低,影响内部效率 可容忍半个工作日

这组数据不是让你做严谨的财务测算,而是帮助你判断要不要冒着风险去线上操作,比如内部系统挂了,即使你排查到了可疑点,也可以选择观察一段时间确认;但如果是核心交易链路断了,哪怕只有一点线索,也得立刻上服务器抓现场。

重启和回滚哪个代价更低

排查到一半,发现可能和最近的发布有关,这时候你要做个抉择:

  • 回滚代码:需要重新构建、验证、发版,耗时较长,但治本
  • 重启服务:快,但如果问题出在代码逻辑或数据上,很快会再挂
  • 摘流量:把故障节点的流量切走,保留现场,适合多实例部署

我的建议是:优先摘流量,其次回滚,最后才重启,摘流量既能让用户恢复访问,又保住了故障现场,是性价比最高的动作。

5分钟自查流程:把零散动作串成实操线

前面讲的是单个动作,这里整合成一条可执行的时间线,当你接到“业务挂了”的通报,照着这条线走,5分钟内你能对故障类型有个基本判断

0-1分钟:接报与初步确认

  • 记录报障人、时间、业务影响范围
  • 通过监控面板确认首页、核心接口状态
  • 确认是否大面积故障还是个别用户个案
  • 业务突然不可用时第一时间该做哪些自查,怎么排查?

1-3分钟:执行核心命令

按优先级执行P0和P1自查项的检查,执行完记录输出结果,如果发现进程不存在或端口未监听,立刻拉取进程管理日志。

3-5分钟:锁定依赖关系

业务连了多少外部服务?哪些是强依赖?给依赖服务画一条线:

  • 数据库:连接池是否占满,主从同步是否延迟
  • 缓存:Redis是否命中率骤降,是否大量超时
  • 消息队列:积压量是否快速增长,消费者是否离线
  • 第三方接口:对方是否回调超时,是否触发熔断

只要有一个依赖在抖动,业务表现出的症状就是“卡顿”或“报错”,把你画出来的链路和当前症状做匹配,多数情况能直接命中问题源头。

5分钟后的处理原则

  • 如果是配置或依赖问题,直接改配置或重启依赖,快进快出
  • 如果是代码缺陷,能快速定位就摘流量回滚,定位不到就先保留现场,通知开发介入
  • 如果是资源瓶颈,扩容、清理日志、加缓存,按不改变业务逻辑的方式优先做

业务突然不可用自查的常见疑问

监控没有告警,就一定不是服务器问题吗?

不是,监控没有告警只能说明监控指标没有超过阈值,不代表一切正常,有些故障是缓慢演进的,比如内存泄漏,它会一点点吃掉内存,到临界点才爆发;还有监控盲区,比如你自己写的JVM参数监控,可能只看堆内存而忽略了元空间,没有告警时,更要注意业务日志里的异常,以及用户侧的报障反馈。

先重启服务还是先查日志?

如果非要说选择,先查日志,再决定重启,重启是最后手段而不是第一手段,日志是故障现场的唯一证据,一旦进程被重启,之前的内存状态、临时文件、线程信息全部丢失,确认日志记录完毕,再执行重启,如果日志量大,可以先cp一份再操作,为了快速恢复而放弃线索,后面要做的事只会更多。

为什么防火墙策略改了,业务立刻就不通了?

防火墙规则在多数Linux发行版里是即时生效的,当你调整了iptables或者安全组规则,改动往往直接作用于正在运行的连接,比如你为了限制某个IP访问,顺手把端口段放行规则改成了拒绝,现有长连接会被立刻断开,新连接也进不来,每次改防火墙之前,先把旧规则备份:iptables-save > /tmp/iptables.rules,改动后30秒内验证业务连通性,不通就快速恢复。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱