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 获取你的 MinIO 的 bearer_token 和 prometheus 的配置。

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']
相关推荐
wz975420 小时前
Docker 从 systemd 托管容器、overlay2 存储驱动到 Compose 多容器实战
spring cloud·docker·eureka
新*21 小时前
ES 7.17 三节点 Docker 集群接入 IK 自定义词典:一次从丢插件到热更新的完整排障
运维·elasticsearch·docker·中文分词·ik分词
小白的码BUG之路1 天前
Jenkins -- gitee+docker+harbor+k8s 部署项目
docker·gitee·jenkins
AlfredZhao1 天前
Docker Compose 平滑切换环境变量文件,容器配置不残留
docker
duansamve2 天前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
mengge.cloud2 天前
prometheus+k8s+弹性伸缩,综合项目
云原生·容器·kubernetes·prometheus
xbzb2 天前
从零容器化部署 ECShop:Harbor 私有仓库 + 自定义 PHP 镜像 + LNMP 三容器
容器·php·harbor·镜像·仓库·ecshop
那明眸似水2 天前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器
腾飞开源2 天前
03_Kubernetes 核心概念拆解:从 Spec/Status 收敛到工作负载控制器的设计逻辑
云原生·容器·kubernetes
知已难寻2 天前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器