监控是“生产可控”的基础:指标/日志/追踪三板斧。
🎯 文章目标
- 定义 LLM 推理/应用的核心指标
- 给出日志结构与埋点建议
- 提供追踪与告警规则
📚 背景/前置
- 异常排查依赖“上下文还原”:请求/模型版本/模板/工具流水
- 指标要能定位:延迟/吞吐/成本/错误类型
🔧 核心内容
1) 指标(Prometheus)
- 计数:请求数、错误数(按类型)
- 直方:延迟、tokens(in/out)
- 仪表:GPU 显存/利用率、队列长度
2) 日志(JSON)
- 字段:时间、用户、任务、prompt 哈希、模型版本、tokens、延迟、工具流水、错误
- 脱敏:手机号/证件/访问令牌
3) 追踪(OpenTelemetry)
- 跨服务:前端→网关→推理→工具
- 关键 span:LLM 调用、检索、重排、工具
4) 告警
- 规则:错误率/延迟/拒答率/成本突增
- 通道:短信/IM/值班轮值
💡 实战示例:日志字段
json
{"ts":1739, "model":"qwen2.5-7b", "tokens": {"in":900,"out":200}, "latency":1800}
📊 对比/取舍(速查)
- 全量 vs 采样:关键链路全量、其他采样
- 平均值 vs 分位数:排障看分位数
🧪 踩坑与经验
- 无 prompt/版本哈希,问题不可复现
- 无追踪,定位不到哪一层慢
📎 参考与延伸
- Prometheus/Grafana、ELK、OpenTelemetry
💭 总结
- 以“指标 + 日志 + 追踪 + 告警”构建可靠的生产监控体系