简介
在本实验中,你将学习使用 Grafana 创建监控仪表盘的基础知识。Grafana 是一个流行的开源监控和可观测性平台,无论指标存储在何处,它都能让你对其进行查询、可视化、告警和探索。
我们将使用一个预配置的环境,其中包括:
- Grafana:用于构建仪表盘的可视化工具。
- Prometheus:作为 Grafana 数据源的时序数据库。
- Node Exporter:一个从宿主机收集硬件和操作系统指标,并将其暴露给 Prometheus 进行抓取的代理程序。
你的目标是从零开始构建一个简单的仪表盘,用于显示实验环境的实时 CPU 使用率。
探索预配置环境
在这一步中,你将熟悉实验环境。设置脚本已经启动了三个 Docker 容器,它们构成了一个基础的监控栈。
首先,让我们验证所有容器是否都在运行。打开终端并执行以下命令:
docker ps
你应该能看到类似以下的输出,列出了 grafana、prometheus 和 node-exporter 容器。具体的容器 ID 会有所不同。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1a2b3c4d5e6 grafana/grafana "/run.sh" 15 seconds ago Up 14 seconds 0.0.0.0:8080->3000/tcp grafana
f6e5d4c3b2a1 prom/prometheus "/bin/prometheus --c…" 20 seconds ago Up 19 seconds 0.0.0.0:9090->9090/tcp prometheus
a9b8c7d6e5f4 prom/node-exporter "/bin/node_exporter …" 25 seconds ago Up 24 seconds 0.0.0.0:9100->9100/tcp node-exporter
以下是各组件的简要说明:
node-exporter:从虚拟机收集系统指标。prometheus:抓取并存储来自node-exporter的指标。grafana:查询 Prometheus 并将数据可视化。
现在,让我们访问 Grafana 用户界面。
由于 LabEx 虚拟机的反向代理设置,请切换到桌面界面,点击左上角的 Firefox 浏览器,并在地址栏中输入 http://localhost:8080。你应该能看到 Grafana 的登录页面。
使用默认凭据登录:
- 用户名:
admin - 密码:
admin
系统可能会提示你更改密码。在本实验中,你可以点击 Skip(跳过)。

登录后,让我们检查数据源连接。
Grafana 在不同版本中会更改左侧边栏的标签和图标,因此你的屏幕可能与截图不完全一致。如果侧边栏已折叠,请先将其展开。
- 打开管理数据源的区域。在大多数较新的 Grafana 版本中,请使用 Connections(连接),然后选择 Data sources(数据源)。如果你没有看到 Connections,请使用侧边栏搜索并从中打开 Data sources。
- 确认存在一个名为
Prometheus的预配置数据源。此连接由初始化脚本自动设置,允许 Grafana 查询 Prometheus 容器。

现在你已经准备好构建第一个仪表盘了。
在 Grafana UI 中创建新仪表盘
在这一步中,你将在 Grafana 界面中创建一个新的空白仪表盘。仪表盘是排列在网格中的一个或多个面板的集合。
- 在 Grafana UI 中,找到左侧边栏。
- 创建一个新仪表盘。具体的菜单标签取决于 Grafana 版本:
- 如果你看到 + Create 入口,打开它并选择 New dashboard。
- 如果你在侧边栏看到 Dashboards,打开它并选择 New dashboard。
- 如果侧边栏布局看起来不同,请使用 Grafana 搜索框并从中打开 New dashboard。

此操作将创建一个新的空白仪表盘。系统会立即提示你添加第一个面板。面板是 Grafana 中最基本的可视化构建块。
点击屏幕中央的 Add visualization(添加可视化)按钮,进入面板编辑器。

现在你已进入面板编辑器,在下一步中,你将在此定义数据查询并自定义其可视化效果。
添加带有 PromQL 查询的 CPU 使用率面板
在这一步中,你将向仪表盘添加一个面板,并使用 PromQL(Prometheus 查询语言)查询来获取 CPU 使用率数据。
你应该已经处于上一步的面板编辑器中。
- 在编辑器底部,你会找到查询部分。
Prometheus数据源应该已经默认选中。 - 在 Metrics browser(指标浏览器)文本框中,输入以下 PromQL 查询。你可以直接复制并粘贴。
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
让我们解析一下这个查询:
node_cpu_seconds_total{mode="idle"}:这是来自 Node Exporter 的一个指标,用于计算 CPU 处于“空闲”状态的总秒数。rate(...[5m]):此函数计算过去 5 分钟内空闲时间每秒的平均增长率。结果是一个 0 到 1 之间的值,代表 CPU 空闲时间的比例。avg by (instance):这会对结果进行聚合,如果你有多个 CPU 或机器,这非常有用。* 100:这会将小数转换为百分比(例如,0.95 变为 95%)。100 - ...:最后,我们用 100 减去空闲百分比,得到活跃的 CPU 使用率百分比。
输入查询后,顶部预览窗格中应该会自动出现一个图表,显示随时间变化的 CPU 使用率。

你的面板现在已经显示数据了,但可以通过更好的标签和格式进行优化,你将在下一步中完成这些操作。
自定义并保存仪表盘
在这一步中,你将自定义面板的外观并保存仪表盘。配置良好的面板可以让人一眼就看懂。
- 在面板编辑器的右侧,找到 Panel options(面板选项)部分。
- 在 Title(标题)字段中,输入面板的描述性名称,例如
CPU Usage %。你会在预览窗格中看到标题已更新。 - 在右侧选项中向下滚动,直到找到 Standard options(标准选项)部分。
- 点击 Unit(单位)下拉菜单。它目前显示为 "None"。
- 在出现的搜索框中,输入
percent并从列表中选择 **Percent (0-100)**。这将正确格式化图表的 Y 轴,以显示百分比符号。

现在面板已配置完毕,应用更改并返回仪表盘视图。
- 点击屏幕右上角的 Save(保存)按钮。在某些 Grafana 版本中,此按钮标记为 Apply(应用)。
现在你回到了仪表盘,其中包含了你刚创建的面板。最后一步是保存整个仪表盘。
- 点击仪表盘标题栏右上角的 Save dashboard(保存仪表盘)图标(看起来像一个软盘)。
- 将出现一个“Save dashboard”对话框。输入确切名称
My System Dashboard,以便实验系统验证已保存的仪表盘。 - 点击 Save(保存)按钮。

恭喜!你已经成功创建并保存了你的第一个 Grafana 仪表盘。
总结
在本实验中,你成功地从零开始构建了一个 Grafana 仪表盘。你从一个预配置的监控栈开始,并执行了以下关键操作:
- 探索了由 Grafana、Prometheus 和 Node Exporter 容器组成的环境。
- 浏览了 Grafana UI 以创建一个新的空白仪表盘。
- 添加了一个可视化面板,并编写了 PromQL 查询以从 Prometheus 数据源获取 CPU 使用率数据。
- 自定义了面板的标题和单位格式,以提高可读性。
- 保存了完成的仪表盘以供将来使用。
你现在已经掌握了在 Grafana 中创建可视化的基本工作流程。你可以在此基础上,通过向仪表盘添加更多面板来监控其他系统指标,如内存使用率、磁盘 I/O 或网络流量。



