Grafana 安装

DockerBeginner
立即练习

介绍

Grafana 是一个领先的开源监控与可观测性平台。无论你的指标存储在哪里,它都能让你查询、可视化、设置告警并理解这些指标。通过 Grafana,你可以与团队创建、探索和共享仪表盘,并培养数据驱动的文化。

在本实验中,你将使用 Docker 快速轻松地设置一个 Grafana 实例。实验环境已预先配置了一个运行中的 Prometheus 容器,它将作为我们的数据源。你的目标是将 Grafana 安装在自己的容器中,并将其连接到这个 Prometheus 实例,为未来的数据可视化任务奠定基础。

拉取 Grafana Docker 镜像

在此步骤中,你将从 Docker Hub 下载官方 Grafana Docker 镜像。Docker 镜像是容器的蓝图,包含了应用程序及其所有依赖项。

docker pull 命令从注册中心(默认为 Docker Hub)获取镜像。我们将拉取 grafana/grafana 镜像,这是由 Grafana 团队维护的官方镜像。

在你的终端中执行以下命令:

docker pull grafana/grafana

你将看到显示镜像每个层下载进度的输出。完成后,该镜像将存储在你的本地机器上,随时可用。

Using default tag: latest
latest: Pulling from grafana/grafana
a48c500ed24e: Pull complete
...
...
Status: Downloaded newer image for grafana/grafana
docker.io/grafana/grafana

在端口 3000 上运行 Grafana 容器

在此步骤中,你将运行 Grafana 镜像作为容器。我们将使用 docker run 命令,它会根据指定的镜像创建一个新容器并启动它。

我们还将使用几个标志来配置容器:

  • -d: 以分离模式(在后台)运行容器。
  • -p 8080:3000: 将宿主机端口 8080 映射到容器的端口 3000。这使得 Grafana Web UI 可以从你的浏览器访问,同时避免与已使用端口 3000 的服务发生冲突。
  • --name grafana: 为容器分配一个自定义名称,以便于引用。
  • --network monitoring: 将容器连接到 monitoring 网络。这一点至关重要,因为它允许此 Grafana 容器使用其容器名称与 Prometheus 容器(位于同一网络上)进行通信。

运行以下命令来启动你的 Grafana 容器:

docker run -d -p 8080:3000 --name grafana --network monitoring grafana/grafana

该命令将输出一个长字符串,这是新创建容器的唯一 ID。

a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6

你可以使用 docker ps 命令来验证容器是否正在运行。

docker ps

你应该会看到列出的 grafana 容器状态为 Up

通过桌面界面访问 Grafana Web UI

在此步骤中,你将在浏览器中访问 Grafana Web 界面。由于在上一步中映射了端口 3000,Grafana UI 现在可以在你的本地机器上访问了。

由于 LabEx VM 的反向代理设置,请切换到桌面界面,点击左上角的 Firefox 浏览器,然后在地址栏输入 http://localhost:8080。你应该会看到 Grafana 登录页面。

Grafana login page displayed in browser

这证实了你的 Grafana 容器正在正常运行并且可以访问。

首次登录与密码设置

在此步骤中,你将首次登录 Grafana。出于安全原因,Grafana 要求你在首次登录时立即更改默认密码。

新 Grafana 实例的默认凭据是:

  • 用户名: admin
  • 密码: admin

在你上一步打开的 Grafana 登录页面,在用户名和密码字段中都输入 admin,然后点击 Log in 按钮。

Grafana login page with admin credentials

系统将提示你创建新密码。我们建议点击“Skip”按钮,以便在此实验环境继续使用默认的 admin 密码。如果你选择设置新密码,请务必记住它,以免之后无法访问 Grafana。

登录后,你将被重定向到 Grafana 主仪表板。你现在已登录,可以开始配置 Grafana 了。

在 Grafana 中添加 Prometheus 作为数据源

在此步骤中,你将把 Grafana 连接到你的 Prometheus 实例,该实例已作为实验设置的一部分在后台运行。这将允许 Grafana 查询 Prometheus 的指标。

请在 Grafana UI 中按照以下说明操作:

  1. 在左侧菜单中,点击 Connections 图标(看起来像一个插头或连接器)。
  2. 在 Connections 页面,点击 Data sources
  3. 在 Data sources 页面,点击 Add new data source 按钮。
  4. 在可用的数据源类型列表中,选择 Prometheus

Grafana UI showing Prometheus data source selection

现在你需要配置连接设置。最重要的设置是 URL。

  • Prometheus server URL 字段中,输入 http://prometheus:9090

Prometheus server URL input field

此 URL 之所以有效,是因为 Grafana 和 Prometheus 容器都连接到同一个 Docker 网络(monitoring)。Docker 的内部 DNS 允许同一网络中的容器通过其容器名称(在此例中为 prometheus)解析彼此。

输入 URL 后,滚动到页面底部,然后点击 Save & test 按钮。

Grafana 将尝试连接到 Prometheus 服务器。如果连接成功,你将看到一个绿色的通知,显示“Data source is working”。

现在你可以按照指南探索 Grafana 的功能了。添加 Prometheus 作为数据源后,请随意点击左侧菜单中的 Explore。在这里,你可以针对你的 Prometheus 数据运行查询,并实时可视化结果。尝试不同的查询,熟悉 Grafana 如何与你的指标交互!

Grafana Explore page showing Prometheus metrics

总结

恭喜你!你已成功完成本次实验。

在本次实验中,你学习了使用 Grafana 和 Docker 的几项基本技能:

  • 如何从 Docker Hub 拉取官方 Docker 镜像。
  • 如何使用特定的网络和端口配置运行 Docker 容器。
  • 如何访问运行在容器内的 Web 应用程序。
  • 如何为新的 Grafana 实例执行初始安全设置。
  • 如何在共享的 Docker 网络中将 Grafana 连接到 Prometheus 数据源。

现在你拥有了一个功能齐全的 Grafana 实例,已连接到数据源,可以开始构建强大的仪表板来可视化你的数据了。