这块看板解决什么
推理服务的监控看板按四类指标分栏摆放:延迟、吞吐、资源、健康,四栏共用同一条时间轴。目的是让异常时刻的多个信号同屏出现,直接看出谁先动、谁跟着动,而不是在几十个面板之间来回翻。Grafana 只负责呈现与告警,数据来自引擎暴露的指标端点,加上机器侧的采集组件。
基本信息
| 适用平台 | Grafana 9.x 及以上自托管;数据源用 Prometheus 或兼容存储 |
|---|---|
| 采集来源 | 引擎的指标端点、node-exporter、DCGM exporter |
| 面板变量 | model_name、instance 等模板变量 |
| 权限要求 | Viewer 查看面板,Editor 改面板,Admin 管数据源 |
典型使用场景
- 容量判读:把 KV 缓存使用率与并发曲线叠放,估出还能接多少流量
- 压测对照:压测时段在图上打标注,四栏联动判断瓶颈在计算、显存还是排队
- 发布验证:新旧版本共用一块看板,比 P95 与错误率决定是否回滚
- 值班巡检:先扫健康栏,重启次数与错误率有变化再展开细节
- 告警联动:队列长度与 KV 使用率设阈值告警,通知里带上对应面板链接
- 多实例对照:按 instance 分组,区分单机异常与整体容量不足
常用查询
常用查询
# 正在运行的请求数
sum(vllm:num_requests_running{model_name="$model"})
# 等待队列长度
sum(vllm:num_requests_waiting{model_name="$model"})
# KV 缓存使用率(0 到 1)
avg(vllm:gpu_cache_usage_perc{model_name="$model"})
# 首 token 延迟 P95
histogram_quantile(0.95, sum(rate(vllm:time_to_first_token_seconds_bucket[5m])) by (le))四栏逐栏读法
| 栏目 | 核心指标 | 异常表现 |
|---|---|---|
| 延迟 | TTFT 与 TPOT 的 P95、P99 | 尖刺与长输入同时出现,多为预填充挤占 |
| 吞吐 | 生成 token 速率的滚动均值 | 掉底而并发不降,先查降频与同卡邻居 |
| 资源 | KV 使用率、队列长度、显存占用 | 长期高位说明并发已超出现有容量 |
| 健康 | 错误率、超时率、重启次数 | 出现重启即按排障流程介入 |
四栏叠在同一条时间轴上,并给压测与发布时段打上标注:多数看起来莫名其妙的抖动,都能在这里找到对得上的变更点。
指标名与标签以所用引擎版本的指标端点输出为准:升级后先核对字段是否变化,再调整面板查询,避免面板静默变成空图。
时间窗不要开得太短:用五分钟窗口看容量趋势会得出错误结论,窗口至少覆盖一个完整业务周期,并且与告警的统计窗口保持一致。