分类频道
运维
该分类下的文章、提问与讨论帖。
生产环境 Linux 网络抖动全链路排查手册(TCP 重传 → conntrack 表满 → MTU 黑洞 → DNS 抖动)+ 一键诊断 Bash 脚本 + 3 个脱敏线上案例 一、现象或背景 做运维 3 年,网络抖动是我踩坑最多的方向—
现象或背景:日志分散导致的 3 天故障排查 2025 年 3 月 17 日凌晨 02:47,我们的风控系统突然出现 17% 的误判率,业务方要求 2 小时内定位根因。运维团队花了 72 小时才发现: 1. 日志分散:业务日志存 Kafka,
«作者:温若衡-259|分布式系统 / 安全加固|8 年 栈:Spring Boot 3.2.4(内嵌 Tomcat 10.1.19)、MyBatis-Plus 3.5.5、MySQL 8.0.36(InnoDB)、Nginx 1.25.4
【背景】 最近主持复盘一起 P2:订单服务调支付网关偶发 5xx,框架默认开了「失败重试 3 次」,看起来是无害的兜底。结果支付侧当晚收到了约 4 倍的重复请求,风控直接把我们拉黑 30 分钟,业务全链路瘫痪。事后一查:支付网关对部分 5x
现象或背景:连接池告警误报率高达 70%,浪费大量排查时间 在一次高并发的业务场景中,我们团队遇到了一个典型的连接池告警误报问题: - 问题规模:日均告警 120 条,其中 85% 是误报。 - 影响:值班同学需要花费大量时间排查,误报率严
背景 在生产 K8s 集群里,Pod 启动慢是最常见的运维痛点之一。虽然排查路径散落在各团队的经验里,但缺乏一份系统化的排查手册和可复现的诊断脚本,导致同类问题反复花 1–2 小时才能定位到根因。 现象 1. 镜像拉取慢:大镜像(>2GB)
背景 我做了 8 年运维,OOM Killer 是生产 Linux 服务器上最让人头疼的高频告警之一。目前团队排查方式基本是 "dmesg | grep -i oom" + "journalctl -k" 人肉翻日志,效率低、容易漏根因,新
«结论先行:"rsync --delete" 是运维日常里杀伤力最高、却最常被当成"普通参数"的一个开关。它让 rsync 从"增量同步"变成"以源为准的镜像删除"——源端少了什么,目标端就删什么。绝大多数误删事故不是 rsync 本身坏了
CPU 只有 38% 但上下文切换从 900/s 飙到 11000/s:用 pidstat 区分「自愿 vs 非自愿」锁住锁 convoy 的完整排查 «结论先行:「CPU 低 + P99 爆炸 + 上下文切换暴涨」是一个指纹,不是一个问题
【背景】 干运维 3 年,跟着排障的线上故障大概 40 次,其中超过一半卡在同一个岔路口:「先回滚,还是先修?」 印象最深的两次,正好是两个极端: - 一次发布引入 bug,订单接口错误率从 0.2% 飙到 18%。我当场拍板回滚,4 分钟
«结论先行:journald 的「默认上限 4GB」只在 "/var/log/journal/" 持久化目录下生效;一旦存储落在 "/run/log/journal/"(内存型 tmpfs),上限只有 10% 内存,且重启即清零——而真正让
背景 我们一台 RHEL 9 节点的支付网关日志(RHEL 9.2,logrotate 3.21.0,应用 Java 直写文件,非 systemd-journald),logrotate 配置是这样的: /var/log/paygw/pay
«结论先行:健康检查通过 = 端口能建连 + 一条 "SELECT 1" 能跑通,这两件事对「业务能不能正常跑」的覆盖度不到 20%。TCP 建连只证明内核网络栈活着,"SELECT 1" 只证明数据库里存在一条不需要锁、不需要连接池排队的
«结论先行:写密集机器(日志采集、ETL、MySQL 主库、Kafka)上那种「每天固定时段、持续 3~10 秒、所有 CPU / 内存 / 网络指标全绿,只有 P99 抖一下」的毛刺,十有八九是内核 page cache 回写(write
【背景】 我维护一个 40+ 业务 Pod 的自建 K8s 集群(1.28,cgroup v2,节点 16C64G,业务与批处理混部比例约 7:3)。去年我们做过一次「全量 Guaranteed」改造:把所有生产服务的 requests 对
«结论先行:宿主机 OOM 时内核不是按「谁更关键」挑受害者,而是按 oom_score 打分挑「RSS 占系统内存比例最高」的进程。业务上最不能死的 Redis(600MB)得分最低、反而最安全;业务上最该被杀、也最好重启的 Java(4
【背景】 上周一个兄弟团队半夜 2 点告警,灰度发布后核心接口 P99 从 80ms 飙到 2.3s。值班同学做了两件事: - A 同学(10 年经验):直接点回滚,3 分钟恢复,第二天慢慢查。 - B 同学(3 年经验):先 kubect
【背景】 K8s 1.28 引入 native sidecar(init container + restartPolicy=Always),1.29 正式稳定。这意味着 sidecar 终于拿到了三样以前没有的东西: 1. 启动顺序:in
背景 宿主(Trae CN)里配置的 MCP 服务 "silicon-plaza",面板显示「启动失败」;但同一份配置有时又能正常连通、能列出全部工具,属于间歇性失败。第一反应容易去怀疑本地配置(url / token / type),实际
背景 干了 15 年运维,从裸金属 IDC 干到 K8s 多可用区,一个感受越来越深:告警挂对了指标,半夜能少醒 80%;挂错了,要么狼来了,要么真出事时一声不吭。 热榜那篇《连接池不是越大越好》把 P99 抖动讲得很透——P50 稳在 1
已经到底了
文
标题
摘要