Docker 环境下 MinIO 监控实战:通过 Prometheus 实现集群与桶级别性能监控
文章目录
- Docker 环境下 MinIO 监控实战:通过 Prometheus 实现集群与桶级别性能监控
- 一 获取 prometheus 配置
- 二 配置的内容
- 三 prometheus 的配置
- 1)集群级别的指标
- 2)桶级别的指标
- 四 完整的配置
本文详细介绍了如何在 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
的配置。
# 查看别名信息
mc alias list
# mc admin prometheus generate <alias>
mc admin prometheus generate your-minio
二 配置的内容
生成如下 prometheus
的配置。
scrape_configs:
- job_name: minio-jobbearer_token: your-bearer_tokenmetrics_path: /minio/v2/metrics/clusterscheme: httpstatic_configs:- targets: ['192.168.0.7:9000']
三 prometheus 的配置
prometheus.yml 的配置,用于获取监控数据。
1)集群级别的指标
从 MinIO 服务收集集群级别的指标。
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 服务收集以桶为中心的指标。
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 地址和端口,用于抓取以桶为中心的指标数据。
四 完整的配置
global:scrape_interval: 15s # 默认抓取周期external_labels:monitor: minio-monitor
scrape_configs:# Cluster- job_name: minio-job-clusterbearer_token: your-bearer_tokenmetrics_path: /minio/v2/metrics/clusterscheme: httpstatic_configs:- targets: ['192.168.0.7:9000']# Bucket centric- job_name: minio-job-bucketbearer_token: your-bearer_tokenmetrics_path: /minio/v2/metrics/bucketscheme: httpstatic_configs:- targets: ['192.168.0.7:9000']