Docker 环境下 MinIO 监控实战:通过 Prometheus 实现集群与桶级别性能监控

Docker 环境下 MinIO 监控实战:通过 Prometheus 实现集群与桶级别性能监控

文章目录

  • [Docker 环境下 MinIO 监控实战:通过 Prometheus 实现集群与桶级别性能监控](#Docker 环境下 MinIO 监控实战:通过 Prometheus 实现集群与桶级别性能监控)
      • [一 获取 prometheus 配置](#一 获取 prometheus 配置)
      • [二 配置的内容](#二 配置的内容)
      • [三 prometheus 的配置](#三 prometheus 的配置)
      • [四 完整的配置](#四 完整的配置)

本文详细介绍了如何在 Docker 环境下,通过 Prometheus 实现 MinIO 集群与桶级别的性能监控。首先,使用 MinIO 客户端 mc 生成 Prometheus 的监控配置和认证令牌。接着,通过配置 Prometheus 的 prometheus.yml 文件,分别从 MinIO 服务中收集集群级和桶级别的指标数据。文章提供了具体的 scrape_configs 配置示例,帮助用户轻松拉取 MinIO 的监控数据。最后,用户可以根据本文的指导,实现对 MinIO 服务的全面监控,适合有一定基础的开发者与运维人员参考与实践。

预备课

Docker 安装与配置:从入门到部署

Docker 部署 Prometheus+Grafana 监控系统快速指南

Docker 安装与配置单机多磁盘 MinIO:高效存储解决方案

MinIO 客户端 mc 访问与管理:从安装到权限设置的全方位指南

一 获取 prometheus 配置

使用 MinIO 客户端 mc 获取你的 MinIObearer_tokenprometheus 的配置。

nginx 复制代码
# 查看别名信息
mc alias list
# mc admin prometheus generate <alias>
mc admin prometheus generate your-minio

二 配置的内容

生成如下 prometheus 的配置。

yaml 复制代码
scrape_configs:
- job_name: minio-job
  bearer_token: your-bearer_token
  metrics_path: /minio/v2/metrics/cluster
  scheme: http
  static_configs:
  - targets: ['192.168.0.7:9000']

三 prometheus 的配置

prometheus.yml 的配置,用于获取监控数据。

1)集群级别的指标

从 MinIO 服务收集集群级别的指标。

yaml 复制代码
global:
  scrape_interval: 15s 
  # 定义 Prometheus 抓取(拉取)指标的默认周期,这里设置为每15秒一次。

  external_labels:
    monitor: 'minio-monitor'
    # 定义全局的外部标签,这些标签会被添加到所有从此 Prometheus 实例发送的时序数据中。
    # 这里定义了标签名为 monitor,值为 'minio-monitor',用于标识和区分监控数据的来源。

scrape_configs:
  # 定义一系列抓取配置,每个配置指定了 Prometheus 从哪些目标收集数据。
  # Cluster level metrics for MinIO
  - job_name: 'minio-job-cluster'
    # 定义了一个名为 'minio-job-cluster' 的抓取任务,专门用于从 MinIO 服务收集集群级别的指标。
    bearer_token: 'your-bearer_token'
    # 设置访问目标服务所需的认证令牌。这里的 'your-bearer_token' 应替换为实际的令牌值。

    metrics_path: '/minio/v2/metrics/cluster'
    # 定义 Prometheus 抓取 MinIO 指标的 HTTP 路径,这里指向 MinIO 的集群级指标接口。

    scheme: 'http'
    # 定义访问指标接口使用的协议,这里是 HTTP。

    static_configs:
    - targets: ['192.168.0.7:9000']
      # 列表定义了具体的抓取目标,这里的目标是 '192.168.0.7:9000'。
      # 这是 MinIO 服务的 IP 地址和端口,Prometheus 会连接到这个地址和端口拉取集群级别的指标数据。
2)桶级别的指标

从 MinIO 服务收集以桶为中心的指标。

yaml 复制代码
global:
  scrape_interval: 15s 
  # 定义 Prometheus 抓取(拉取)指标的默认周期,这里设置为每15秒一次。

  external_labels:
    monitor: 'minio-monitor'
    # 定义全局的外部标签,这些标签会被添加到所有从此 Prometheus 实例发送的时序数据中。
    # 这里定义了标签名为 monitor,值为 'minio-monitor',用于标识和区分监控数据的来源。

scrape_configs:
  # 定义一系列抓取配置,每个配置指定了 Prometheus 从哪些目标收集数据。
  # Bucket centric metrics for MinIO
  - job_name: 'minio-job-bucket'
    # 定义了另一个抓取任务名为 'minio-job-bucket',专门用于从 MinIO 服务收集以桶为中心的指标。
    bearer_token: 'your-bearer_token'
    # 同上,设置访问目标服务所需的认证令牌。

    metrics_path: '/minio/v2/metrics/bucket'
    # 指定从 MinIO 抓取以桶为中心的指标的路径。

    scheme: 'http'
    # 协议同上,使用 HTTP。

    static_configs:
    - targets: ['192.168.0.7:9000']
      # 同上,定义了 MinIO 服务的 IP 地址和端口,用于抓取以桶为中心的指标数据。
  

四 完整的配置

yml 复制代码
global:
  scrape_interval: 15s # 默认抓取周期
  external_labels:
    monitor: minio-monitor
scrape_configs:
  # Cluster
  - job_name: minio-job-cluster
  bearer_token: your-bearer_token
  metrics_path: /minio/v2/metrics/cluster
  scheme: http
  static_configs:
  - targets: ['192.168.0.7:9000']
  
  # Bucket centric
  - job_name: minio-job-bucket
  bearer_token: your-bearer_token
  metrics_path: /minio/v2/metrics/bucket
  scheme: http
  static_configs:
  - targets: ['192.168.0.7:9000']
相关推荐
小夏卷编程8 小时前
Ubuntu 20.04.4 宝塔 docker showdoc v3.2 更新到v3.7.3
运维·docker·容器
JEECG低代码平台8 小时前
JeecgBoot低代码平台 Docker 部署 OnlyOffice 文档服务完整指南
低代码·docker·容器
生活爱好者!9 小时前
NAS帮我找回童年的快乐!部署 小游戏
运维·服务器·docker·容器·娱乐
自在极意功。10 小时前
nginx和docker面试题
运维·nginx·docker
不做超级小白12 小时前
执行docker命令时自动启动Docker Desktop?一个小工具让开发体验更丝滑
windows·docker
222you12 小时前
Ubuntu当中的Docker安装和镜像管理
ubuntu·spring cloud·docker
心易行者12 小时前
别再说“在我的机器上能跑”了!Docker 入门指南,专治各种环境不服
运维·人工智能·docker·容器
zhim0013 小时前
【保姆级教程】使用 Docker 部署 PostgreSQL + pgvector(含踩坑指南)
linux·docker
**蓝桉**13 小时前
Prometheus部署
prometheus
进击切图仔14 小时前
ROS 跨机通信与 Docker 多机环境搭建
运维·docker·容器