Grafana 面板类型 #
面板概述 #
面板(Panel)是 Grafana 中最基本的可视化单元,用于展示来自数据源的数据。Grafana 提供了丰富的面板类型,满足不同的可视化需求。
text
┌─────────────────────────────────────────────────────────────┐
│ 面板类型概览 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 时间序列类: │
│ ├── Time Series 时间序列图(推荐) │
│ ├── State Timeline 状态时间线 │
│ └── Status History 状态历史 │
│ │
│ 统计展示类: │
│ ├── Stat 统计值 │
│ ├── Gauge 仪表盘 │
│ └── Bar Gauge 条形仪表 │
│ │
│ 表格列表类: │
│ ├── Table 表格 │
│ ├── Logs 日志 │
│ └── Trace 追踪 │
│ │
│ 图表类: │
│ ├── Bar Chart 柱状图 │
│ ├── Pie Chart 饼图 │
│ ├── Heatmap 热力图 │
│ └── Histogram 直方图 │
│ │
│ 地理类: │
│ └── Geomap 地理地图 │
│ │
│ 其他: │
│ ├── Text 文本 │
│ ├── Dashboard List 仪表板列表 │
│ └── Alert List 告警列表 │
│ │
└─────────────────────────────────────────────────────────────┘
Time Series(时间序列图) #
时间序列图是 Grafana 最常用、最强大的可视化类型,用于展示随时间变化的数据。
基本配置 #
text
┌─────────────────────────────────────────────────────────────┐
│ 时间序列图配置 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Panel options: │
│ ├── Title 面板标题 │
│ ├── Description 描述说明 │
│ └── Transparent 透明背景 │
│ │
│ Query: │
│ ├── 数据源选择 │
│ ├── 查询语句 │
│ └── 查询选项(间隔、最大数据点) │
│ │
│ Transform: │
│ └── 数据转换 │
│ │
└─────────────────────────────────────────────────────────────┘
图表模式 #
text
┌─────────────────────────────────────────────────────────────┐
│ 图表模式 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Line(折线图): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ╱╲ │ │
│ │ ╱ ╲ ╱╲ │ │
│ │ ╱ ╲ ╱ ╲ │ │
│ │ ╱ ╲╱ ╲ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Area(面积图): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ████ │ │
│ │ ██████ ████ │ │
│ │ ██████████████ │ │
│ │ ████████████████ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Bars(柱状图): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ██ │ │
│ │ ██ ██ ██ │ │
│ │ ██ ██ ██ ██ │ │
│ │ ██ ██ ██ ██ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Points(点图): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ • │ │
│ │ • • │ │
│ │ • • │ │
│ │ • • │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
样式配置 #
yaml
Graph styles:
Style: Lines / Bars / Points
Line width: 1
Fill opacity: 10
Point size: 5
Stacking: Normal / Percent
Gradient mode: None / Opacity / Hue
图例配置 #
yaml
Legend:
Visibility: Visible
Mode: List / Table
Placement: Bottom / Right
Values: Last / First / Min / Max / Mean / Total
Width: 100
轴配置 #
yaml
Axis:
Placement: Auto / Left / Right / Hidden
Label: 轴标签
Unit: 单位
Min: 最小值
Max: 最大值
Scale: Linear / Log2 / Log10
示例查询 #
promql
rate(cpu_usage_total[5m])
node_memory_MemAvailable_bytes / 1024 / 1024 / 1024
sum by (instance) (rate(http_requests_total[5m]))
Stat(统计值面板) #
Stat 面板用于展示单个或多个统计值,适合展示关键指标。
显示模式 #
text
┌─────────────────────────────────────────────────────────────┐
│ Stat 显示模式 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Auto(自动): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ CPU Usage │ │
│ │ 75.5% │ │
│ │ ▲ 5.2% │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Color(彩色背景): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ████████████████████████████████████████████████ │ │
│ │ CPU Usage │ │
│ │ 75.5% │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Value and name(值和名称): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 75.5% │ │
│ │ CPU Usage │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ None(仅值): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 75.5% │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
配置选项 #
yaml
Stat:
Orientation: Auto / Horizontal / Vertical
Text alignment: Auto / Center
Reduce calc: Last / First / Mean / Min / Max / Total / Count
Color mode: Value / Background
Graph mode: None / Area
Justify mode: Auto / Center
颜色阈值 #
text
┌─────────────────────────────────────────────────────────────┐
│ 颜色阈值配置 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Thresholds: │
│ ├── 0 → green (正常) │
│ ├── 70 → yellow (警告) │
│ └── 90 → red (危险) │
│ │
│ 效果: │
│ ├── 0-70: 绿色 │
│ ├── 70-90: 黄色 │
│ └── 90-100: 红色 │
│ │
└─────────────────────────────────────────────────────────────┘
Gauge(仪表盘) #
Gauge 面板以仪表盘形式展示单个值,直观显示指标在范围内的位置。
显示样式 #
text
┌─────────────────────────────────────────────────────────────┐
│ Gauge 显示样式 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Basic(基础): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ╭───────╮ │ │
│ │ ╭─┤ ├─╮ │ │
│ │ │ │ 75% │ │ │ │
│ │ ╰─┤ ├─╯ │ │
│ │ ╰───────╯ │ │
│ │ CPU Usage │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Gradient(渐变): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ╭───────╮ │ │
│ │ ╭─┤███████├─╮ (渐变色填充) │ │
│ │ │██│ 75% │██│ │ │
│ │ ╰─┤███████├─╯ │ │
│ │ ╰───────╯ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
配置选项 #
yaml
Gauge:
Orientation: Auto / Horizontal
Show threshold labels: true / false
Show threshold markers: true / false
Min: 0
Max: 100
Unit: percent
Bar Gauge(条形仪表) #
Bar Gauge 以条形图形式展示多个值,适合对比多个指标。
显示样式 #
text
┌─────────────────────────────────────────────────────────────┐
│ Bar Gauge 显示样式 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Horizontal(水平): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ CPU ████████████████████░░░░░░░░░░ 75% │ │
│ │ Memory ████████████████████████░░░░░░ 85% │ │
│ │ Disk ████████████████░░░░░░░░░░░░░░ 60% │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Vertical(垂直): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ CPU Memory Disk │ │
│ │ ██ ████ ██ │ │
│ │ ██ ████ ██ │ │
│ │ ████ ████ ████ │ │
│ │ ████ ██████ ████ │ │
│ │ ██████ ██████ ██████ │ │
│ │ 75% 85% 60% │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
配置选项 #
yaml
Bar Gauge:
Orientation: Horizontal / Vertical
Display mode: Gradient / Basic
Min: 0
Max: 100
Show unfilled area: true / false
Table(表格) #
Table 面板以表格形式展示数据,适合展示结构化数据。
基本配置 #
text
┌─────────────────────────────────────────────────────────────┐
│ 表格面板 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Server │ CPU │ Memory │ Status │ Last Check │ │
│ ├───────────┼──────┼────────┼─────────┼──────────────┤ │
│ │ server-01 │ 75% │ 85% │ ● OK │ 2 min ago │ │
│ │ server-02 │ 45% │ 60% │ ● OK │ 1 min ago │ │
│ │ server-03 │ 92% │ 95% │ ● WARN │ 30 sec ago │ │
│ │ server-04 │ 10% │ 25% │ ● OK │ 1 min ago │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
列配置 #
yaml
Column:
Type: Auto / Number / String / Date
Width: auto / 固定宽度
Align: left / center / right
Filter: true / false
Sort: none / asc / desc
单元格显示模式 #
text
┌─────────────────────────────────────────────────────────────┐
│ 单元格显示模式 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Color text(彩色文字): │
│ │ 75% │ (文字带颜色) │
│ │
│ Color background(彩色背景): │
│ │█████│ (背景带颜色) │
│ │
│ Gauge(仪表): │
│ │███░░░│ (进度条) │
│ │
│ JSON View(JSON 视图): │
│ │{...} │ (格式化 JSON) │
│ │
└─────────────────────────────────────────────────────────────┘
数据链接 #
yaml
Data links:
- Title: View Details
URL: /d/server-details?server=${__data.fields.server}
- Title: SSH Connect
URL: ssh://${__data.fields.server}
Bar Chart(柱状图) #
Bar Chart 用于展示分类数据的对比。
显示样式 #
text
┌─────────────────────────────────────────────────────────────┐
│ 柱状图样式 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Vertical(垂直柱状图): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ██ │ │
│ │ ██ ██ ██ │ │
│ │ ██ ██ ██ ██ │ │
│ │ ██ ██ ██ ██ ██ │ │
│ │ Mon Tue Wed Thu Fri │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Horizontal(水平柱状图): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Mon ████████████████████ │ │
│ │ Tue ██████████████████████████ │ │
│ │ Wed ██████████████████ │ │
│ │ Thu ██████████████████████████████ │ │
│ │ Fri ████████████████████████ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
配置选项 #
yaml
Bar Chart:
Orientation: Vertical / Horizontal
Group width: 0.7
Bar width: 0.97
Show values: Auto / Always / Never
Stacking: Normal / Percent
Pie Chart(饼图) #
Pie Chart 用于展示数据的占比分布。
显示样式 #
text
┌─────────────────────────────────────────────────────────────┐
│ 饼图样式 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Pie(饼图): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ╭───────╮ │ │
│ │ ╭──┤ ├──╮ │ │
│ │ │ │ 35% │ │ │ │
│ │ │ ╭┴───────┴╮ │ │ │
│ │ │ │ 25% │ │ │ │
│ │ ╰─┤────────├─╯ │ │
│ │ │ 40% │ │ │
│ │ ╰────────╯ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Donut(环形图): │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ╭───────╮ │ │
│ │ ╭──┤ ├──╮ │ │
│ │ │ │ │ │ │ │
│ │ │ ╭┴───────┴╮ │ │ │
│ │ │ │ Total │ │ │ │
│ │ ╰─┤ 100% ├─╯ │ │
│ │ │ │ │ │
│ │ ╰────────╯ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
配置选项 #
yaml
Pie Chart:
Show legend: true / false
Legend position: Right / Bottom
Pie type: Pie / Donut
Show values: true / false
Heatmap(热力图) #
Heatmap 用于展示数据的密度分布。
显示样式 #
text
┌─────────────────────────────────────────────────────────────┐
│ 热力图样式 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 100 │ ░░ ▓▓ ██ ██ ▓▓ ░░ ░░ │ │
│ │ 80 │ ░░ ▓▓ ██ ██ ██ ▓▓ ░░ │ │
│ │ 60 │ ░░ ▓▓ ▓▓ ██ ██ ▓▓ ▓▓ │ │
│ │ 40 │ ░░ ░░ ▓▓ ▓▓ ▓▓ ▓▓ ▓▓ │ │
│ │ 20 │ ░░ ░░ ░░ ▓▓ ▓▓ ▓▓ ░░ │ │
│ │ 0 └──────────────────────────────────────────────│ │
│ │ 00:00 04:00 08:00 12:00 16:00 20:00 │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ 颜色深浅表示数据密度 │
│ ░░ 低密度 ▓▓ 中密度 ██ 高密度 │
│ │
└─────────────────────────────────────────────────────────────┘
配置选项 #
yaml
Heatmap:
Data format: Time series buckets
Y Axis: Count / Custom
Color scheme: Spectral / Blues / Reds / Greens
Show values: true / false
Geomap(地理地图) #
Geomap 用于展示地理位置相关的数据。
显示样式 #
text
┌─────────────────────────────────────────────────────────────┐
│ 地理地图样式 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ● Beijing │ │
│ │ ● Shanghai │ │
│ │ │ │
│ │ ● Chengdu ● Guangzhou │ │
│ │ │ │
│ │ ● Urumqi │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ 点的大小和颜色可以表示数值大小 │
│ │
└─────────────────────────────────────────────────────────────┘
配置选项 #
yaml
Geomap:
Map layer: OpenStreetMap / CartoDB
View: World / Custom
Center: [longitude, latitude]
Zoom: 1-18
Marker size: Fixed / By value
Logs(日志面板) #
Logs 面板用于展示日志数据。
显示样式 #
text
┌─────────────────────────────────────────────────────────────┐
│ 日志面板样式 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 2024-01-15 10:23:45 INFO Server started │ │
│ │ 2024-01-15 10:23:46 INFO Loading configuration │ │
│ │ 2024-01-15 10:23:47 WARN Cache miss detected │ │
│ │ 2024-01-15 10:23:48 ERROR Connection failed │ │
│ │ 2024-01-15 10:23:49 INFO Retrying connection │ │
│ │ 2024-01-15 10:23:50 INFO Connected successfully │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ 不同日志级别显示不同颜色 │
│ │
└─────────────────────────────────────────────────────────────┘
配置选项 #
yaml
Logs:
Show time: true / false
Show labels: true / false
Sort order: Ascending / Descending
Deduplication: None / Exact / Numbers
Text(文本面板) #
Text 面板用于展示静态文本或 Markdown 内容。
使用场景 #
text
┌─────────────────────────────────────────────────────────────┐
│ 文本面板使用场景 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. 仪表板说明文档 │
│ 2. 操作指引 │
│ 3. 重要提示 │
│ 4. Markdown 格式化内容 │
│ 5. 嵌入 HTML 内容 │
│ │
└─────────────────────────────────────────────────────────────┘
内容模式 #
yaml
Text:
Mode: Markdown / HTML / Code
Markdown 示例:
markdown
# Server Monitoring Dashboard
## Overview
This dashboard monitors server health metrics.
## Metrics
- **CPU Usage**: Should be below 80%
- **Memory**: Should be below 90%
- **Disk**: Should be below 85%
## Contact
- On-call: support@example.com
面板通用配置 #
查询选项 #
text
┌─────────────────────────────────────────────────────────────┐
│ 查询选项 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Max data points: │
│ ├── 最大返回数据点数 │
│ ├── 默认根据面板宽度自动计算 │
│ └── 可手动设置 │
│ │
│ Min interval: │
│ ├── 最小查询间隔 │
│ └── 防止查询过于频繁 │
│ │
│ Relative time: │
│ ├── 覆盖仪表板时间范围 │
│ └── 例如:now-1h, now-24h │
│ │
└─────────────────────────────────────────────────────────────┘
数据转换 #
text
┌─────────────────────────────────────────────────────────────┐
│ 数据转换类型 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Add field from calculation: │
│ └── 基于现有字段计算新字段 │
│ │
│ Filter by name: │
│ └── 按名称过滤字段 │
│ │
│ Filter data by value: │
│ └── 按值过滤数据 │
│ │
│ Organize fields: │
│ └── 组织字段(重命名、隐藏、排序) │
│ │
│ Partition by values: │
│ └── 按值分区 │
│ │
│ Rename by regex: │
│ └── 使用正则表达式重命名 │
│ │
│ Series to rows: │
│ └── 将序列转换为行 │
│ │
│ Merge: │
│ └── 合并多个查询结果 │
│ │
└─────────────────────────────────────────────────────────────┘
值映射 #
yaml
Value mappings:
- Type: Value
Value: 0
Result text: Offline
Color: red
- Type: Value
Value: 1
Result text: Online
Color: green
- Type: Range
From: 0
To: 50
Result text: Low
Color: yellow
值格式化 #
text
┌─────────────────────────────────────────────────────────────┐
│ 单位类型 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 数据存储: │
│ bytes, KB, MB, GB, TB, PB │
│ │
│ 时间: │
│ seconds, minutes, hours, days │
│ │
│ 百分比: │
│ percent (0-100), percentunit (0-1) │
│ │
│ 网络速度: │
│ bps, Kbps, Mbps, Gbps │
│ │
│ 温度: │
│ celsius, fahrenheit │
│ │
│ 货币: │
│ currency USD, currency EUR, currency CNY │
│ │
│ 自定义: │
│ 自定义单位后缀 │
│ │
└─────────────────────────────────────────────────────────────┘
面板最佳实践 #
选择合适的面板类型 #
text
┌─────────────────────────────────────────────────────────────┐
│ 面板选择指南 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 时间趋势分析 → Time Series │
│ 单个关键指标 → Stat / Gauge │
│ 多指标对比 → Bar Gauge / Bar Chart │
│ 占比分析 → Pie Chart │
│ 数据密度 → Heatmap │
│ 详细数据 → Table │
│ 日志查看 → Logs │
│ 地理数据 → Geomap │
│ 状态展示 → State Timeline │
│ │
└─────────────────────────────────────────────────────────────┘
颜色使用建议 #
text
┌─────────────────────────────────────────────────────────────┐
│ 颜色使用建议 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 状态颜色: │
│ ├── 绿色:正常、健康 │
│ ├── 黄色:警告、注意 │
│ ├── 红色:错误、危险 │
│ └── 蓝色:信息、中性 │
│ │
│ 对比颜色: │
│ ├── 使用对比色区分不同序列 │
│ └── 避免过多颜色造成混乱 │
│ │
│ 一致性: │
│ └── 同一仪表板使用统一的颜色方案 │
│ │
└─────────────────────────────────────────────────────────────┘
下一步 #
掌握了面板类型后,接下来学习 数据源配置,了解如何连接各种数据源!
最后更新:2026-03-29