Grafana 可视化与告警
Grafana 可视化与告警
一句话:Grafana 是”看板聚合器”——它自己不存数据,而是把 Prometheus/Loki/Tempo/OTel 等数据源的查询画成面板,并把告警规则接到 Alertmanager。
为什么不是”再装个监控”
很多人把 Grafana 当”画图工具”,但它的真正价值是统一观测面:一个 Dashboard 里同时放 Metrics(Prometheus)、Logs(Loki)、Traces(Tempo),并用 Exemplar / 数据链接 实现”指标异常 → 点开看日志 → 下钻到 trace”的联动。这正是你 vault 里 Cilium(Hubble)、llm-serving 各自指标需要统一呈现的原因。
数据源(Data Source)
| 数据源 | 提供 | 接什么 |
|---|---|---|
| Prometheus | 指标查询 | Metrics |
| Loki | 日志查询(LogQL) | Logs |
| Tempo | trace 查询 | Traces |
| Jaeger | trace 查询(兼容) | Traces |
| OTel | 指标/ trace | 统一采集后端 |
三者都用同一套 Label 模型(Grafana 的 “Label” 概念跨数据源一致),这是它能联动的基础。
面板类型与取舍
| 面板 | 适用 | 反例 |
|---|---|---|
| Time series | 绝大多数时序(QPS、时延、CPU) | 不要用 Stat 看趋势 |
| Stat | 单个关键数(SLO 剩余、错误预算) | 不要堆 20 个 Stat |
| Heatmap | 时延分布随时间(Histogram 可视化) | 用 Time series 看分位不够直观 |
| Table | 多维度明细(Top N Pod 内存) | 不要用它画趋势 |
| Gauge | 单一百分比(磁盘使用率) | 不要用于多序列 |
变量与模板(Dashboard as Code)
用模板变量让一个 Dashboard 适配多集群/多命名空间:
{
"templating": {
"list": [
{ "name": "namespace", "type": "query",
"datasource": "Prometheus",
"query": "label_values(kube_pod_info, namespace)" }
]
}
}
配合 grafana-cli / Terraform(grafana provider)/ Jsonnet(grafonnet)可实现看板即代码,纳入 Git 版本控制——和你 CI-CD 系列的基础设施即代码理念一致。
告警:从规则到通知
Grafana 9+ 的 Unified Alerting 把告警统一为:
graph LR
R[Alert Rule: 查询+条件] --> E[Alert Instance 触发]
E --> RT[Notification Policy 路由]
RT --> CP[Contact Point: 钉钉/Slack/PagerDuty]
RT --> SI[Silence/抑制]
- Alert Rule:基于数据源查询 + 阈值/表达式(如 P99 > 300ms 持续 5m)
- Notification Policy:按标签路由(severity=page → 电话;warning → 群消息)
- Contact Point:钉钉/企业微信/Slack/PagerDuty
- Silence:维护窗口静默
注意分工:Grafana 告警适合”看板即告警”的简单场景;Prometheus Alertmanager 适合复杂路由/抑制/分组(见
SLO/SLI 错误预算篇的 MWMBR 多窗口告警)。生产中常两者并存。
最佳实践
- 一个面板一个结论:不要堆砌,每个面板回答一个问题
- 用 Exemplar:Histogram 样本挂 trace id,Grafana 点一下跳 Jaeger
- 数据链接(Data Link):从 Metrics 面板链接到 Logs/Traces 查询,带当前变量
- 看板分层:概览(红绿健康)→ 下钻(按服务)→ 根因(日志/trace)
- 避免每次加载全量:用
$__range变量、合理 step
与你 vault 的打通点
LLM 推理服务化/推理性能基准测试与调优:把 TTFT/TPOT/GPU 利用率做成 Time series + Stat 看板Cilium Hubble 可观测性与运维排障:Hubble drop/flow 指标接 GrafanaK8s 可观测性实战:Prometheus Operator + Grafana Operator 部署
关联知识
- 可观测性知识总览 — 可视化是信号呈现层
- Metrics 与 Prometheus 实战 — Grafana 的主要数据源
- SLO/SLI 错误预算与智能告警 — 告警规则与错误预算联动
- LLM 推理服务化知识总览 — 推理服务指标看板
参考资源
- Grafana Docs: Dashboards / Alerting
- grafonnet-lib(Jsonnet 生成 Dashboard)
学习时间
| 内容 | 日期 | 状态 |
|---|---|---|
| Grafana 可视化与告警 | 2026-07-24 | 完成:数据源、面板取舍、模板变量、告警链路、最佳实践 |
状态
- 数据源与统一观测面
- 面板类型取舍
- 模板变量与看板即代码
- 告警链路
- 最佳实践