Docker 最佳实战:Docker 部署单节点 Grafana 实战

503 阅读3分钟

Docker 最佳实战:Docker 部署单节点 Grafana 实战

2024 年云原生运维实战文档 99 篇原创计划 第 031 篇 |Docker 最佳实战「2024」系列 第 017 篇

你好,欢迎来到运维有术

今天分享的内容是 Docker 最佳实战「2024」 系列文档中的 Docker 部署单节点 Grafana 实战

本文将详细介绍如何用 Docker 容器及 Docker Compose 部署单节点 Grafana。

实战服务器配置 (架构 1:1 复刻小规模生产环境,配置略有不同)

主机名IPCPU(核)内存(GB)系统盘(GB)数据盘(GB)用途
docker-node-1192.168.9.8141640100Docker 节点 1
docker-node-2192.168.9.8241640100Docker 节点 2
docker-node-3192.168.9.8341640100Docker 节点 3
合计31248120300

实战环境涉及软件版本信息

  • 操作系统:openEuler 22.03 LTS SP3
  • Docker:24.0.7
  • Grafana:10.4.4

1. 前置条件

使用 Docker 部署 Grafana 服务的镜像有以下两种版本:

  • Grafana Enterprise: grafana/grafana-enterprise
  • Grafana Open Source: grafana/grafana-oss

Grafana 官方推荐且默认的 Grafana 版本是 Grafana Enterprise。它是免费的,并且包含了开源版(OSS edition)的所有功能。此外,后期还可以选择升级到完整的企业版功能集,它包括对企业插件的支持。

我没有购买企业版的计划,所以最终选择部署 OSS Edition。

说明: 实际上也可以直接选择 grafana/grafana 项目下的镜像,不需要在后面加上具体的版本类型,该项目下的镜像与 grafana/grafana-oss 项目下的内容一致。

2. 安装部署 Grafana

2.1 创建数据目录并设置权限

cd /data/containers
mkdir -p grafana/data

2.2 创建 docker-compose.yml 文件

创建配置文件,vi grafana/docker-compose.yml 

name: "grafana"
services:
  grafana:
    image: grafana/grafana-oss:10.4.4
    container_name: grafana
    restart: always
    user: '0'
    networks:
      - app-tier
    ports:
      - '3000:3000'
    volumes:
      - ./data:/var/lib/grafana
networks:
  app-tier:
    name: app-tier
    driver: bridge
    #external: true

2.3 创建并启动服务

  • 启动服务
cd /data/containers/grafana
docker compose up -d

2.4 验证容器状态

  • 查看 grafana 容器状态
$ docker compose ps
NAME      IMAGE                        COMMAND     SERVICE   CREATED          STATUS          PORTS
grafana   grafana/grafana-oss:10.4.4   "/run.sh"   grafana   14 seconds ago   Up 12 seconds   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp
  • 查看 grafana 服务日志
# 通过日志查看容器是否有异常,结果略
$ docker compose logs -f

3. 验证测试

打开浏览器,验证 Grafana 管理控制台。默认的用户名密码是 admin/admin

docker-grafana-login

请立即在更新密码页面修改默认密码。

docker-grafana-update-password

更新密码后,跳入首页。

docker-grafana-home

4. 自动化 Shell 脚本

文章中所有操作步骤,已全部编排为自动化脚本,包含以下内容(因篇幅限制,不在此文档中展示):

  • Shell 脚本部署单节点 Grafana
  • Ansible 容器化部署单节点 Grafana

运维有术星球会员请到专属代码仓库下载(价值内容,仅星球会员专享)。

以上,就是我今天分享的全部内容。下一期分享的内容还没想好,敬请期待开盲盒

  • 如果你喜欢本文,请分享、收藏、点赞、评论! 请持续关注 @运维有术,及时收看更多好文!

    欢迎加入 「知识星球|运维有术」 ,获取更多的 KubeSphere、Kubernetes、云原生运维、自动化运维、AI 大模型等实战技能。未来运维生涯始终有我坐在你的副驾

    免责声明:

    • 笔者水平有限,尽管经过多次验证和检查,尽力确保内容的准确性,但仍可能存在疏漏之处。敬请业界专家大佬不吝指教。

    • 本文所述内容仅通过实战环境验证测试,读者可学习、借鉴,但严禁直接用于生产环境由此引发的任何问题,作者概不负责

    Get 本文实战视频(请注意,文档视频异步发行,请先关注)

    版权声明

    • 所有内容均属于原创,感谢阅读、收藏,转载请联系授权,未经授权不得转载