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']
相关推荐
小黑_深呼吸42 分钟前
Prometheus实战教程:k8s平台-Mysql监控案例
运维·学习·kubernetes·prometheus
THMAIL1 小时前
mac M芯片运行docker-desktop异常问题
macos·docker·容器
两点王爷2 小时前
IDEA中springboot项目中连接docker
spring boot·docker·intellij-idea
家庭云计算专家2 小时前
还没用过智能文档编辑器吗?带有AI插件的ONLYOFFICE介绍
服务器·人工智能·docker·容器·编辑器
云手机管家5 小时前
CDN加速对云手机延迟的影响
运维·服务器·网络·容器·智能手机·矩阵·自动化
孤的心了不冷5 小时前
【Docker】CentOS 8.2 安装Docker教程
linux·运维·docker·容器·eureka·centos
头疼的程序员6 小时前
docker学习与使用(概念、镜像、容器、数据卷、dockerfile等)
学习·docker·容器
IT小郭.6 小时前
使用 Docker Desktop 安装 Neo4j 知识图谱
windows·python·sql·docker·知识图谱·database·neo4j
淡水猫.6 小时前
hbit资产收集工具Docker(笔记版)
运维·docker·容器
水淹萌龙11 小时前
k8s 中使用 Service 访问时NetworkPolicy不生效问题排查
云原生·容器·kubernetes