内容概览

模块核心内容
01 插件安装grafana-cli命令、插件管理、重启生效
02 自定义Dashboard新建面板、Row、PromQL配置
03 变量配置变量类型、正则过滤、变量引用
04 表格制作表格面板、数据转换
05 权限管理RBAC、用户角色、权限配置
06 备份恢复JSON导出、导入恢复

一、Grafana简介

Grafana是一款开源的图形化展示工具,支持从多个数据源读取数据,包括Prometheus、MySQL、ElasticSearch、PostgreSQL等主流数据库。

官方文档https://grafana.com/grafana/

默认访问信息

二、Grafana插件安装

2.1 插件概述

Grafana支持安装第三方插件扩展功能。当导入某些Dashboard时,可能会遇到如下错误:

Panel plugin not found: natel-discrete-panel

这说明缺少必要的插件,需要手动安装。

2.2 默认数据目录

[root@prometheus-server31 ~]# ll /var/lib/grafana/
total 1940
drwxr-xr-x  5 grafana grafana    4096 May 12 14:46 ./
drwxr-xr-x 61 root    root       4096 May 12 10:38 ../
drwxr-x---  3 grafana grafana    4096 May 12 10:38 alerting/
drwx------  2 grafana grafana    4096 May 12 10:38 csv/
-rw-r-----  1 grafana grafana 1961984 May 12 14:46 grafana.db
drwx------  2 grafana grafana    4096 May 12 10:38 png/

2.3 插件管理命令

列出本地安装的插件

[root@prometheus-server31 ~]# grafana-cli plugins ls
Error: ✗ stat /var/lib/grafana/plugins: no such file or directory

安装指定的插件

[root@prometheus-server31 ~]# grafana-cli plugins install natel-discrete-panel
✔ Downloaded and extracted natel-discrete-panel v0.1.1 zip successfully to /var/lib/grafana/plugins/natel-discrete-panel

Please restart Grafana after installing or removing plugins. Refer to Grafana documentation for instructions if necessary.

验证插件安装

[root@prometheus-server31 ~]# grafana-cli plugins ls
installed plugins:
natel-discrete-panel @ 0.1.1

[root@prometheus-server31 ~]# ll /var/lib/grafana/plugins/
total 12
drwxr-xr-x 3 root    root    4096 May 12 14:49 ./
drwxr-xr-x 6 grafana grafana 4096 May 12 14:49 ../
drwxr-xr-x 4 root    root    4096 May 12 14:49 natel-discrete-panel/

[root@prometheus-server31 ~]# ll /var/lib/grafana/plugins/natel-discrete-panel/
total 180
drwxr-xr-x 4 root root   4096 May 12 14:49 ./
drwxr-xr-x 3 root root   4096 May 12 14:49 ../
-rw-r--r-- 1 root root   1891 May 12 14:49 CHANGELOG.md
drwxr-xr-x 2 root root   4096 May 12 14:49 img/
-rw-r--r-- 1 root root   1079 May 12 14:49 LICENSE
-rw-r--r-- 1 root root   2650 May 12 14:49 MANIFEST.txt
-rw-r--r-- 1 root root  30629 May 12 14:49 module.js
-rw-r--r-- 1 root root    808 May 12 14:49 module.js.LICENSE.txt
-rw-r--r-- 1 root root 108000 May 12 14:49 module.js.map
drwxr-xr-x 2 root root   4096 May 12 14:49 partials/
-rw-r--r-- 1 root root   1590 May 12 14:49 plugin.json
-rw-r--r-- 1 root root   3699 May 12 14:49 README.md

重启Grafana使配置生效

[root@prometheus-server31 ~]# systemctl restart grafana-server.service

三、自定义Dashboard

3.1 新建Dashboard

操作路径:
1. 登录Grafana
2. 点击左侧菜单栏的"+"图标
3. 选择"Dashboard"
4. 进入空白Dashboard页面

3.2 新建可视化面板

操作路径:
1. 在Dashboard页面点击"Add visualization"
2. 选择数据源(Prometheus)
3. 进入Panel编辑界面

3.3 统计CPU相关信息

CPU相关的PromQL语句

	1.CPU使用率
(1 - sum(increase(node_cpu_seconds_total{mode="idle"}[1m])) by (instance) /  sum(increase(node_cpu_seconds_total[1m])) by (instance)) * 100

3.4 添加Row(行)

作用:使用Row对Panel(面板)进行折叠管理和分组

操作路径:
1. 点击Dashboard页面上的"Add panel"
2. 选择"Add row"
3. 输入Row标题
4. 可将多个Panel拖拽到Row中

3.5 对已有Panel进行编辑

操作路径:
1. 点击Panel标题栏
2. 选择"Edit"
3. 进入编辑模式修改配置

3.5 保存Dashboard

操作路径:
1. 点击Dashboard页面右上角的"Save dashboard"图标
2. 输入Dashboard名称
3. 点击"Save"确认

⚠️ 注意:如果不保存,刷新当前页面后所有配置将丢失!

四、Dashboard配置详解

4.1 Panel编辑界面说明

区域功能
Query编写PromQL查询语句
Visualization选择图表类型(Time series、Bar chart、Table等)
Panel options设置面板标题、描述等
Legend设置图例显示方式
Axes设置坐标轴(Y轴单位、刻度等)

4.2 常用图表类型

图表类型适用场景
Time series时间序列数据(CPU、内存变化趋势)
Bar chart横向对比(各节点资源使用情况)
Table详细数据列表
Stat单个数值显示(当前连接数)
Gauge百分比仪表盘
Pie chart占比分布

4.3 常用PromQL语句配置

CPU使用率
(1 - sum(increase(node_cpu_seconds_total{mode="idle"}[1m])) by (instance) / sum(increase(node_cpu_seconds_total[1m])) by (instance)) * 100
系统模式占用的时间
(sum(increase(node_cpu_seconds_total{mode="system"}[1m])) by (instance) / sum(increase(node_cpu_seconds_total[1m])) by (instance)) * 100
系统等待时间
(sum(increase(node_cpu_seconds_total{mode="iowait"}[1m])) by (instance) / sum(increase(node_cpu_seconds_total[1m])) by (instance)) * 100
CPU空闲时间
(sum(increase(node_cpu_seconds_total{mode="idle"}[1m])) by (instance) / sum(increase(node_cpu_seconds_total[1m])) by (instance)) * 100
统计各节点CPU核心数
count(node_cpu_seconds_total{mode="idle"}) by (instance)

五、变量配置

5.1 变量概述

变量可以实现Dashboard的动态过滤,用户可以通过下拉菜单选择不同的主机、实例等,无需修改PromQL语句。

5.2 进入设置页面

操作路径:
1. 打开要编辑的Dashboard
2. 点击右上角的"设置"图标(齿轮图标)
3. 选择"Variables"

5.3 进入变量页面

操作路径:
1. 点击"Add variable"按钮
2. 进入变量配置界面

5.4 定义变量

变量配置参数说明

参数说明示例
Name变量名称(引用时使用$变量名)myhost
Label显示标签主机
Type变量类型Query / Interval / Constant
Data source数据源Prometheus
Query查询语句label_values(node_cpu_seconds_total, instance)

常用变量类型

类型说明使用场景
Query查询结果作为变量值动态获取主机列表
Interval时间间隔设置查询时间范围
Constant固定值定义固定参数
Text box文本框用户手动输入

5.5 基于instance进行过滤

配置文件中job_name

Query配置:
label_values(node_cpu_seconds_total{job="oldboyedu-node-exporter"}, instance)

说明:查询qingyang-node-exporter任务下的所有instance值

5.6 引用变量

# 在Panel的Query中使用$变量名引用
count(node_cpu_seconds_total{mode="idle", job="oldboyedu-node-exporter", instance="$myhost"}) by (instance)

# 多变量组合使用
node_cpu_seconds_total{instance="$myhost", cpu="$cpuid"}

5.7 变量正则过滤

# 匹配以10.0.0开头的instance
/^10\.0\.0\..*:9100$/

# 匹配特定格式
/.*:9100$/

5.8 保存Dashboard

配置完变量后,Dashboard顶部会出现下拉选择框
可以选择不同的变量值来动态刷新所有Panel数据

六、表格制作案例

6.1 创建表格面板

配置颜色

6.2 表格常用PromQL

# 节点信息表格
node_uname_info

# 节点内存使用情况
node_memory_MemTotal_bytes / 1024 / 1024 / 1024

# 节点CPU核心数
count(node_cpu_seconds_total{mode="idle"}) by (instance)

6.3 表格配置优化

配置项说明
Column width设置列宽
Sort by设置默认排序字段
Transform数据转换(时间序列→表格)
Override单独设置某列的格式(单位、颜色等)

七、RBAC权限管理

7.1 Grafana角色说明

角色权限
Viewer只读查看Dashboard
Editor创建修改Dashboard
Admin管理数据源、插件、用户
Grafana Admin超级管理员

7.2 用户管理

操作路径:
1. 左侧菜单 → "Configuration""Users"
2. 可添加、编辑、删除用户
3. 可邀请用户加入组织

7.3 Dashboard权限设置

操作路径:
1. 打开Dashboard
2. 点击"Settings""Permissions"
3. 可为不同角色设置不同权限
权限级别操作
View查看Dashboard
Edit编辑Dashboard
Admin管理Dashboard权限

八、备份和恢复

8.1 Dashboard备份

操作路径:
1. 打开要备份的Dashboard
2. 点击"Settings"(齿轮图标)
3. 选择"JSON Model"
4. 复制全部JSON内容
5. 保存到本地文件(如dashboard-backup.json)

8.2 Dashboard恢复

操作路径:
1. 点击左侧菜单"+""Import"
2. 点击"Upload JSON file"
3. 选择备份的JSON文件
4. 选择数据源(Prometheus)
5. 点击"Import"

8.3 完整备份方法

方法一:逐个导出Dashboard JSON

适用于少量Dashboard,手动备份。

方法二:备份Grafana数据库

# 备份数据库
cp /var/lib/grafana/grafana.db /backup/grafana.db.$(date +%Y%m%d)

# 恢复数据库
systemctl stop grafana-server
cp /backup/grafana.db.20250101 /var/lib/grafana/grafana.db
chown grafana:grafana /var/lib/grafana/grafana.db
systemctl start grafana-server

方法三:备份整个Grafana目录

# 备份
tar czf grafana-backup.tar.gz /var/lib/grafana/

# 恢复
tar xzf grafana-backup.tar.gz -C /
systemctl restart grafana-server

九、Grafana常用操作快捷键

操作快捷键
保存DashboardCtrl + S
刷新DashboardCtrl + Shift + R
快速查找Ctrl + K
新建DashboardCtrl + N
全屏模式F
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐