【Prometheus监控实战】一次“系统无征兆崩溃”让我重构监控体系如何提前发现AI系统问题完整落地方案一、问题场景真实事故有一次系统崩溃让我彻底意识到没有监控 盲飞事故过程下午3点系统正常下午3点10接口开始变慢下午3点15大量超时下午3点20完全不可用但问题是我们完全不知道什么时候开始变慢的二、问题分析为什么一定会“突然崩”1️⃣ AI系统“慢性崩溃”特性不像普通服务直接挂掉AI系统是慢 → 更慢 → 堆积 → 崩溃2️⃣ 没有关键指标当时系统没有QPS没有延迟统计没有错误率 只能靠“感觉”三、解决方案监控体系设计 我最终落地的是应用指标 → Prometheus → Grafana ↓ 报警系统四、实操步骤完整可复现✅ 步骤1埋点指标核心为什么必须埋点 不埋点 无数据 无法监控代码实现FastAPIfromprometheus_clientimportCounter,Histogramimporttime REQUEST_COUNTCounter(ai_requests_total,Total requests)REQUEST_LATENCYHistogram(ai_request_latency_seconds,Request latency)接入接口defchat(prompt):REQUEST_COUNT.inc()starttime.time()resultmodel.generate(prompt)REQUEST_LATENCY.observe(time.time()-start)returnresult五、暴露指标接口fromprometheus_clientimportgenerate_latestfromfastapiimportResponseapp.get(/metrics)defmetrics():returnResponse(generate_latest(),media_typetext/plain)六、Prometheus配置步骤2prometheus.ymlscrape_configs:-job_name:ai_servicestatic_configs:-targets:[localhost:8000]启动Prometheusdockerrun-p9090:9090 prom/prometheus七、Grafana可视化dockerrun-p3000:3000 grafana/grafana八、关键监控指标重点✔ 必监控指标指标作用QPS流量延迟性能错误率稳定性CPU资源九、真实排障过程重点一次延迟异常Grafana显示延迟从2s → 8sQPS未变CPU正常 说明不是流量问题是外部依赖问题最终发现 模型API变慢十、踩坑记录❌ 没有Histogram 无法统计延迟分布❌ 指标命名混乱 Grafana难用十一、适合收藏核心✔ 必做清单QPS监控延迟监控错误率监控✔ 避坑❌ 不埋点❌ 不看延迟❌ 不做报警十二、总结 监控的本质不是“看系统”而是“提前知道系统要崩”十三、进阶优化告警系统AlertmanagerSLA监控异常自动恢复十四、下一篇 灰度发布系统