Grafana 里的 "Instant" 复选框有什么作用?
Grafana 面板的 Instant 开关把 PromQL 查询从"区间查询"切换为"即时查询"——只取当前时刻的一个值而非一段时间序列。适合数字面板/表格;画趋势曲线必须关闭。本文讲清原理与误用后果。
勾选 Instant 后,Grafana 只向 Prometheus 发"即时查询"(取当前时刻的单个值),面板时间范围对该查询失效;不勾选则是区间查询,返回一段时间内的时间序列用于画曲线。
两种查询的本质区别
| 区间查询(Range) | 即时查询(Instant) | |
|---|---|---|
| 返回 | 时间范围内一串数据点 | 当前时刻一个值 |
| 适用面板 | Time series 趋势图 | Stat 数字、Gauge、Table |
| 性能 | 随范围变大变重 | 恒定轻量 |
什么时候勾?
- Stat 数字面板(当前 QPS、当前在线数)→ 勾上,快且准;
- 表格展示最新状态 → 勾上;
- 趋势曲线图 → 千万别勾,否则曲线变成一条由单点重复组成的平线。
常见症状
"图表变成平的直线/所有点一个值"——八成是误勾了 Instant;"Stat 面板数字和曲线末端对不上"——Stat 没开 Instant 时取的是区间内最后一个点,两者本就一致,开了也对得上。
观测云对照
观测云看板按图表类型自动选择查询模式:趋势图走区间、概览数字取最新值,不存在需要手动切换的开关。
常见问题(FAQ)
Q:Instant 查询里的 rate(http_requests_total[5m]) 还有意义吗? 有——取的是"此刻"按 5 分钟窗口算出的速率值,Stat 面板常用这种写法。
Q:Legend 里的 {{instance}} 在 Instant 模式下还有效吗? 有效,标签插值与查询模式无关。