- Docker 教程
- Docker - 首页
- Docker - 概述
- Docker - 在 Linux 上安装
- Docker - 安装
- Docker - Hub
- Docker - 镜像
- Docker - 容器
- Docker - 注册中心
- Docker - Compose
- Docker - 使用容器
- Docker - 架构
- Docker - 层
- Docker - 容器 & 宿主机
- Docker - 配置
- Docker - 容器 & Shell
- Docker - Dockerfile
- Docker - 构建文件
- Docker - 公共仓库
- Docker - 管理端口
- Docker - Web 服务器
- Docker - 命令
- Docker - 容器链接
- Docker - 数据存储
- Docker - 卷
- Docker - 网络
- Docker - 安全
- Docker - 工具箱
- Docker - 云
- Docker - 构建云
- Docker - 日志
- Docker - 持续集成
- Docker - Kubernetes 架构
- Docker - Kubernetes 的工作原理
- Docker - 生成式 AI
- Docker - 托管
- Docker - 最佳实践
- Docker 设置服务
- Docker - 设置 Node.js
- Docker - 设置 MongoDB
- Docker - 设置 NGINX
- Docker - 设置 ASP.Net
- Docker - 设置 MySQL
- Docker - 设置 Go
- Docker - 设置 Rust
- Docker - 设置 Apache
- Docker - 设置 MariaDB
- Docker - 设置 Jupyter
- Docker - 设置 Portainer
- Docker - 设置 Rstudio
- Docker - 设置 Plex
- Docker 设置 - Flame
- Docker 设置 - PostgreSql
- Docker 设置 - Mosquitto
- Docker 设置 - Grafana
- Docker 设置 - Nextcloud
- Docker 设置 - Pawns
- Docker 设置 - Ubuntu
- Docker 设置 - RabbitMQ
- Docker - 设置 Python
- Docker - 设置 Java
- Docker - 设置 Redis
- Docker - 设置 Alpine
- Docker - 设置 BusyBox
- Docker 设置 - Traefik
- Docker 设置 - WordPress
- Docker 有用资源
- Docker - 快速指南
- Docker - 有用资源
- Docker - 讨论
Docker - 配置 Grafana
Grafana 是一个开源数据可视化平台,可帮助用户监控、可视化和分析数据以创建交互式仪表板。
Grafana 显示实时指标,也可以查询这些指标,无论您的信息或数据存储在哪里。但是,由于系统特定的挑战和依赖项,为不同的环境设置 Grafana 可能具有挑战性。
本章将引导您了解如何通过使用 Docker 设置 Grafana 来解决此问题,以容器化您的 Grafana 实例并在不同的开发和生产环境中轻松管理它。
Grafana Docker 镜像的两个版本
Grafana Docker 镜像主要有两个版本:
- Grafana OSS - Grafana OSS 是一个开源选项,免费提供。它允许用户创建自定义仪表板、查询数据,甚至设置警报。Grafana OSS 最适合拥有中小型团队的用户。
- Grafana Enterprise - Grafana Enterprise 是一个付费版本,它具有 Grafana OSS 的所有功能以及一些高级功能,例如安全和保护以及更好的团队协作工具。它最适合处理复杂数据并需要高级安全和保护的用户。
在本章中,我们将讨论如何设置 Grafana OSS。
使用 Docker 容器化 Grafana 的先决条件
在开始之前,请确保您具备以下先决条件:
- Docker 基础知识 - Docker 的基础知识,如容器、镜像和 Docker 文件,将使您更容易理解本指南。
- Grafana 基础知识 - 建议了解 Grafana 的基本功能,例如创建仪表板、连接数据源和浏览其 UI。
- 已安装 Docker - 确保您的机器上已安装 Docker。您可以从 Docker 的官方网站下载它。
- Docker Compose - 如果您要通过 Docker Compose 设置 Graffana,请确保您的机器上已安装 Docker Compose。
- 命令行界面 (CLI) - 您应该熟悉 CLI 以执行命令。
您可以使用 Docker CLI 或 Docker Compose 运行 Grafana 容器。在本章中,我们将介绍这两种方法。
运行 Grafana 容器 - Docker CLI
本节介绍如何通过命令行界面或 CLI 将 Grafana 容器进行 Docker 化。
如果您使用的是 LINUX 机器(基于 Ubuntu 或 Debian 的系统),则可能需要在这些命令之前添加 sudo 以提供管理员权限。
步骤 1:拉取 Grafana Docker 镜像
在运行 Grafana 容器之前,您需要拉取一个 Grafana Docker 镜像。
$ docker pull grafana/grafana
步骤 2:运行 Grafana 容器
$ docker run -d -p 3000:3000 --name=grafana grafana/grafana
其中,
- -d = 表示分离模式。
- -p 3000:3000 = 将您的本地主机端口 (3000) 映射到 Grafana 容器的端口 (3000)。
- --name=grafana = 表示容器的名称。
- grafana/grafana = 您要运行的镜像名称。
步骤 3:保存您的数据(可选)
Grafana 默认使用 SQLite 版本 3 数据库来存储所有数据。但是,此数据仅在容器存在时才存储。一旦您删除容器,所有数据(如用户、仪表板和配置)都将丢失。要即使在删除容器后也能保存数据,您可以使用 Docker 卷。
使用 Docker 卷可以让您完全控制、管理和访问使用 Docker CLI 的数据。
首先,您需要创建一个 Docker 卷。您可以将其命名为任何名称,但在此示例中,我们将将其命名为 grafana-storage。
$ docker volume create grafana-storage
您可以通过运行以下命令来验证您的 Docker 卷是否已正确生成。如果您的卷已创建,此命令将为您提供一些 JSON 输出。
$ docker volume inspect grafana-storage
创建 Grafana 容器将使用的 Docker 卷后,您需要运行 Grafana 容器。
$ docker run -d -p 3000:3000 --name=grafana \ --volume grafana-storage:/var/lib/grafana \ grafana/grafana
步骤 4:停止您的容器
要停止容器,请运行以下命令:
$ docker stop grafana
这里,grafana 是您容器的名称。
运行 Grafana 容器 – Docker Compose
您还可以通过 Docker Compose 运行 Grafana 容器。Docker Compose 是一个工具或软件,允许您定义和运行多容器应用程序。它需要一个 YAML 文件(例如,docker-compose.yaml),您可以在其中列出构成应用程序的所有服务的配置。
所有容器都可以通过一个命令依次启动,也可以以相同的方式停止。
步骤 1:安装 Docker Compose
要通过 Docker 运行 Grafana 容器,您需要在您的机器上安装 Docker Compose。您可以使用以下命令验证它是否已正确安装。
$ docker compose version
如果已完美安装,您将获得 Docker Compose 版本,否则您将收到错误消息。
步骤 2:创建 .yaml 文件
安装后,创建一个 docker-compose.yaml 文件。此文件将包含使应用程序正常运行所需的所有服务配置。
不要在根目录中创建此文件。移动到您的 docker-compose 目录并在该目录中创建此文件。
$ touch docker-compose.yaml
步骤 3:填充 .yaml 文件
将以下配置添加到您的 docker-compose.yaml 文件中。
version: '3' services: grafana: image: grafana/grafana container_name: grafana ports: - "3000:3000"
步骤 4:保存您的数据
要保存您的数据,以便在删除容器时不会丢失配置、仪表板、用户等,您可以使用 Docker 卷。
您必须在 docker-compose.yaml 文件中进行一些更改才能使用 Docker 卷。在 docker-compose.yaml 文件中将现有代码替换为以下代码。
version: '3' services: grafana: image: grafana/grafana container_name: grafana ports: - "3000:3000" volumes: - ./grafana_data:/var/lib/grafana
步骤 5:运行 docker-compose.yaml 文件
要运行您的 docker-compose.yaml 文件,请运行以下命令。
$ docker compose up -d
其中,
- d = d 标志表示分离模式
- up = up 用于运行容器
步骤 6:访问 Grafana 仪表板
您可以在浏览器中访问 https://127.0.0.1:3000 以访问 Grafana 仪表板。
步骤 7:停止 Grafana 容器
要停止您的 Grafana 容器,请运行以下命令:
$ docker compose down
结论
您已成功使用 Docker 设置 Grafana,并通过 CLI 和 Docker compose 在 Docker 内部运行了您的 Grafana 容器。这样,您就可以轻松地在不同的环境中使用 Grafana,而无需过多关注不同的系统和依赖项问题。使用 Docker 卷存储您的 Grafana 数据可确保您即使在删除实例后也不会丢失任何数据,并允许 Docker 引擎完全管理和访问存储。
使用 Docker 设置 Grafana 的常见问题解答
关于使用 Docker 设置 Grafana,有一些非常常见的问题,本节尝试简要回答它们。
1. 如何在 Docker 环境中扩展 Grafana?
您可以通过在 Docker 中部署多个 Grafana 实例来扩展 Grafana 以实现高可用性。使用负载均衡器在服务器上共享负载,并用于存储仪表板、配置、用户等数据。使用共享数据库,例如 PostgreSQL。
2. 如何监控 Grafana 容器?
您可以使用 Prometheus 等监控软件来监控您的 Grafana 容器,这将允许您通过跟踪 CPU 使用率、内存利用率和网络使用率等不同指标来跟踪容器的性能。您可以将其直接与 Grafana 集成以在仪表板上可视化这些指标。
3. 在 Docker 中使用 Grafana 的最佳安全实践是什么?
您可以通过自定义 Grafana 配置来限制数据源 URL 的 IP 地址/主机名。此外,您可以设置代理服务器,以便所有请求都通过代理服务器。
您还可以配置防火墙限制,以限制对可疑 Web 服务器的网络请求。最重要的是,您可以在 Grafana 中禁用匿名访问,以便没有用户可以在未经身份验证的情况下访问视图。