一文搞定:服务器半夜宕机救火?这套实操流程让我把P0故障从每月3次降到0.3

一文搞定:服务器半夜宕机救火?这套实操流程让我把P0故障从每月3次降到0.3

2026-09-02 08:42

2026年了,凌晨三点被报警电话叫醒,登录服务器一看磁盘使用率100%、MySQL连接数打满、老板在群里连发三个问号——这种场面我经历过不下十次。后来我把监控、日志、性能、数据库、备份这五件事做成了标准动作,P0故障从每月3次降到0.3次。下面全是实操步骤,没有一句废话。

1. 监控告警别只配CPU和内存,漏了这三个指标等于白装

很多团队装个Prometheus就觉得自己有监控了,但只看CPU、内存、磁盘使用率,问题爆发前根本无感。我建议至少补三个指标:磁盘inode使用率、TCP重传率、OOM kill计数。我遇到过一个案例:一台Nginx服务器内存才用了60%,但TCP重传率飙到15%,用户反馈页面卡顿,查了三天才定位是网卡驱动bug,换驱动后重传率降到0.1%。这几个指标在Prometheus里加这几条规则:

node_filesystem_files_free / node_filesystem_files_size * 100 < 20
rate(node_netstat_Tcp_RetransSegs[5m]) > 10
node_vmstat_oom_kill > 0

告警推送到Alertmanager,分组规则设成凌晨只电话通知,白天推送钉钉或飞书,避免“狼来了”效应。

2. 日志排查别只会tail -f,用Loki+Promtail把定位时间从30分钟压到1分钟

我以前查问题也是tail -f | grep,遇到分布式调用链直接抓瞎。后来上了Loki+Promtail,成本比ELK低一个量级,查询速度够用。实操:Promtail采集nginx和业务日志,打上service标签,JSON结构化输出。某次订单服务偶发超时,用Loki查status=500且耗时>3s的请求,通过trace_id关联上下游,1分钟定位到Redis连接池耗尽。查询语句长这样:

{service="order-api"} |= "status=500" | json | latency > 3s | line_format "{{.trace_id}} {{.latency}}"

建议日志别再用纯文本正则硬解析,输出JSON能省掉一半排障时间。

3. CPU飙高不要只会top,perf+火焰图定位到具体函数才算入门

top只能告诉你哪个进程在烧CPU,具体哪行代码在烧,得靠火焰图。实操:先用top -Hp拿到线程ID,再用async-profiler(对生产影响<1%)生成火焰图。有一台Java服务CPU常年90%,top看是GC线程,其实代码里频繁创建大对象。用./profiler.sh -d 60 -f /tmp/flamegraph.svg PID生成火焰图,发现某个JSON序列化库的反射调用占掉70% CPU,换成fastjson2后CPU降到35%。这个工具我强烈推荐,比perf record安全,输出是SVG可以直接丢给开发看。

4. 数据库连接池不是越大越好,用这个公式能避免70%的雪崩

很多同学把HikariCP的maximumPoolSize设成200,觉得越大越抗并发,结果数据库先挂了。连接池大小有个经验公式:connections = ((core_count * 2) + effective_spindle_count)。一台8核SSD服务器,把连接池从200调到18,响应时间反而下降40%,因为200个连接导致数据库CPU上下文切换和锁竞争,吞吐量不升反降。实操:打开HikariCP的metrics监控连接等待时间,如果等待时间稳定超过10ms,先别急着扩池,先看是不是慢SQL拖住了连接。

5. 备份不做恢复测试等于零,用restic做增量备份+每月一次演练

备份文件躺在那里和没有备份区别不大。我见过一个团队用mysqldump每天全备,结果事故恢复时发现最后一次能用的备份是7天前,因为备份脚本连续一周报错没人看,最后丢失一周数据。实操:用restic备份到S3兼容存储,每天凌晨自动增量;MySQL用xtrabackup+binlog,RPO从24小时降到15分钟。恢复命令:

restic -r s3:xxx restore latest --target /tmp/restore

然后每月手动删一次测试库,用备份恢复,记录耗时。把恢复时间写进SLA,否则平时没人重视备份质量。

运维的核心不是背锅,是把不确定性变成可重复的流程。上面五步照着做,至少能少挨一半骂。如果你连监控告警都没配全,今晚先别熬夜,把第一条搞定。

📌 延伸阅读:百度蜘蛛IP段详细分类,优质蜘蛛和垃圾蜘蛛 | HTTPS改造避坑手册:从证书申请到混合内容清零,别让“不安全”吃掉你的转化

以上就是本文的全部内容,希望对你有所帮助。如果有任何疑问,欢迎联系站长。

©
资源发布网 © 2026

1 本网站名称:资源发布网
2 本站永久网址:http://zyfbw.com
3 本网站的文章部分内容来源于网络,仅供大家学习与参考,如有侵权,请联系站长 QQ进行删除处理。
4 本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。
5 本站大部分下载资源收集于网络,不保证其完整性以及安全性,不提供技术支持,请下载后自行研究。
6 若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。