缓存命中率从 58% 拉到 94%:CDN 监控体系搭建与 5 个生产级排障决策
概述 CDN 接入后,很多团队的监控就停留在厂商控制台看个命中率数字。命中率 90%?挺好,不管了。直到某天源站带宽被打满、页面加载 8 秒、用户投诉炸了,才发现那个 90% 是请求命中率而不是字节命中率——大文件全在回源,小请求被缓存命中拉高了数字。 这篇文章拆解一套我在生产环境中落地过的 CDN 监控体系。不是堆指标罗列,而是围绕"缓存命中率、回源带宽、边缘节点健康度"三个核心维度,讲清楚每个指标怎么采集、怎么看、出了问题怎么排查。最后用 5 个真实排障案例串起来,每个都带具体数据和决策过程。 先说清楚 CDN 监控和普通应用监控的区别:应用监控是你自己部署的组件,指标完全可控;CDN 监控的对象是第三方或自建的边缘网络,很多指标得从厂商 API 拉取或者从日志里算,采集链路更长,排查时干扰因素更多。 一、CDN 监控的核心指标体系 1.1 三个维度,别贪多 CDN 涉及的指标不下 30 个,但真正影响业务决策的就三类: 维度 核心指标 告诉你什么 数据来源 缓存效率 请求命中率、字节命中率 CDN 有没有把流量挡在边缘 厂商 API / 日志分析 回源压力 回源 QPS、回源带宽、回源错误率 源站扛不扛得住 厂商 API / 源站 Nginx 日志 边缘健康 节点可用率、边缘延迟 P95/P99、CDN → 源站延迟 用户到 CDN 这一段通不通 拨测 / RUM / 厂商 API 很多团队只看命中率,不看回源带宽。这就好比只看超市收银台开了几个,不看仓库门有没有被搬空。命中率 95% 听着不错,但如果那 5% 的回源全是 50MB 的视频文件,源站出口带宽照样被打满。...