Grafana 面板类型与选择

Grafana 提供了丰富的面板类型,每种类型都有其最佳适用场景。正确选择面板类型能够大幅提升数据的可读性,而错误的选择则会让数据变得难以理解。

时间序列类面板

Time Series

Time series 是最常用的面板类型,用于展示指标随时间的变化趋势。它是 Grafana 7.0 引入的新面板,在功能和性能上都优于传统的 Graph 面板。

适用场景:QPS 变化、延迟趋势、错误率走势、资源利用率变化。

核心配置

{
  "type": "timeseries",
  "fieldConfig": {
    "defaults": {
      "custom": {
        "lineWidth": 2,
        "fillOpacity": 10,
        "gradientMode": "opacity"
      }
    }
  }
}

State Timeline

State timeline 用于展示离散状态随时间的变化,例如服务状态(健康/降级/故障)、部署状态。

适用场景:发布进度展示、服务健康状态变化、实例状态监控。

状态类面板

Stat

Stat 面板简洁地展示当前值,适合单点状态展示。

适用场景:当前在线用户数、当前实例数、当前版本号。

配置技巧

{
  "type": "stat",
  "options": {
    "colorMode": "value",
    "graphMode": "none",
    "justifyMode": "auto"
  }
}

Gauge

Gauge 面板以仪表盘形式展示数值,适合展示比例或达标状态。

适用场景:CPU 使用率、内存使用率、磁盘使用率、SLO 达标率。

分段颜色:设置绿色(0-60%)、黄色(60-80%)、红色(80-100%)的分段阈值。

表格类面板

Table

Table 面板以表格形式展示数据,适合展示 Top N 列表或多维度聚合数据。

适用场景:Top N 最慢接口、Top N 最高错误率、资源使用排名。

格式化技巧:对数值列使用 short 单位,对比率列使用 percentunit

分布类面板

Pie Chart

Pie chart 用于展示部分与整体的比例关系。

适用场景:请求状态码分布(2xx/4xx/5xx)、流量来源分布、错误类型分布。

使用建议:部分数过多(超过 5 个)时不适合使用 Pie chart,此时改用 Bar chart。

Bar Chart

Bar chart 适合横向对比多个维度的数据。

适用场景:不同服务错误率对比、不同实例资源使用对比。

Heatmap

Heatmap 用于展示数据密度分布,是分析延迟分布的利器。

适用场景:延迟分布(X 轴为时间,Y 轴为延迟区间,颜色为请求数)、资源使用密度分析。

对比与选择

需求推荐面板原因
展示变化趋势Time series时间维度天然适合线图
展示单一当前值Stat简洁直观
展示达标状态Gauge仪表盘形式直观
展示比例关系Pie chart部分与整体关系直观
展示排名Table表格结构适合排名
展示分布密度Heatmap颜色深浅表达密度

面板配置最佳实践

颜色语义统一:在整个仪表盘范围内,相同语义使用相同颜色(如红色=错误)。

添加单位:数值必须添加单位,避免误解(是 ms 还是 s?是字节还是比特?)。

图例优化:多系列时精简图例,使用图例点击隐藏/显示特定系列。

工具提示:配置丰富的数据提示,让悬停时能获取完整信息。