欢迎来到即将发布的 MinIO 文档版本! 此页面上的内容正在积极开发中 可能随时更改。 如果找不到您要找的内容,请查看我们的 历史文档。 感谢您的耐心等待。 我们期待您贡献自己强大的力量,帮助更多的中国技术开发者![翻译]

使用 Prometheus 收集 MinIO 指标

Table of Contents

MinIO 杠杆 Prometheus 用于指标和警报。 MinIO 发布了 Prometheus 兼容的集群抓取端点和 节点级指标。 看 指标 更多 信息。

此页面上的过程记录了抓取 MinIO 指标的过程 使用 Prometheus 实例的端点,包括部署和配置 一个简单的 Prometheus 服务器,用于收集指标。

此程序不能替代官方 Prometheus Documentation. 任何具体指导 与配置、部署和使用 Prometheus 相关的是尽最大努力 基础。

要求

安装和配置 mc 以访问 MinIO 集群

此过程使用 mc 用于在 MinIO 上执行操作 部署。 在具有网络访问权限的机器上安装 mc 部署。 见 mc Installation Quickstart 为了 更完整的说明。

Prometheus 服务

此过程提供了部署 Prometheus 以实现快速本地化的说明 评估和开发。 所有其他环境都应该有一个现有的 Prometheus 或 Prometheus 兼容的服务,可以访问 MinIO 集群。

程序

1) 生成承载令牌

默认情况下,MinIO 要求对指标的请求进行身份验证 端点。 MinIO 部署不需要此步骤 MINIO_PROMETHEUS_AUTH_TYPE 设置 "public".

使用 mc admin prometheus generate 命令生成一个 Prometheus 在进行身份验证抓取时使用的 JWT 不记名令牌 要求:

mc admin prometheus generate ALIAS

ALIASalias MinIO 部署。

该命令返回类似于以下的输出:

scrape_configs:
- job_name: minio-job
  bearer_token: TOKEN
  metrics_path: /minio/v2/metrics/cluster
  scheme: https
  static_configs:
  - targets: [minio.example.net]

您可以指定输出块到 scrape_config 部分 Prometheus 配置。 更改 “job_name” 以匹配标签或 正在抓取的 MinIO 集群的标识符。

The mc admin prometheus generate 命令生成搜罗配置 仅适用于 /minio/v2/metrics/cluster 端点。 您可以使用生成的 配置以创建节点级指标抓取作业:

scrape_configs:
- job_name: minio-job
  bearer_token: TOKEN
  metrics_path: /minio/v2/metrics/node
  scheme: https
  static_configs:
  - targets: [minio-01.example.net]

更改“job_name”以匹配 MinIO 节点的标签或标识符 被搜罗。 更改 static_configs.targets 以指定 被抓取的节点的主机名。

2) 配置和运行 Prometheus

跟随 Prometheus Getting Started 指导 在本地下载并运行 Prometheus。

将上一步生成的 scrape_configs 作业附加到 配置文件:

global:
   scrape_interval: 15s

   scrape_configs:
      - job_name: minio-cluster-metrics
        bearer_token: TOKEN
        metrics_path: /minio/v2/metrics/cluster
        scheme: https
        static_configs:
        - targets: [minio.example.net]
      - job_name: minio-node-01-metrics
        bearer_token: TOKEN
        metrics_path: /minio/v2/metrics/node
        scheme: https
        static_configs:
        - targets: [minio-01.example.net]

使用配置文件启动 Prometheus 集群:

prometheus --config.file=prometheus.yaml

3) 分析收集的指标

Prometheus 包括一个 expression browser. 你可以 在此处执行查询以分析收集的指标。

以下查询示例返回 Prometheus 收集的指标:

minio_cluster_disk_online_total{job="minio-job"}[5m]
minio_cluster_disk_offline_total{job="minio-job"}[5m]

minio_bucket_usage_object_total{job="minio-job"}[5m]

minio_cluster_capacity_usable_free_bytes{job="minio-job"}[5m]

可用指标 为了一个完整的 已发布指标列表。

4) 可视化收集的指标

Prometheus 包括一个 graphing interface 为了 可视化收集的指标。

The MinIO Console 支持可视化收集的指标 来自 Prometheus。 将 Prometheus 服务的 URL 指定到 MINIO_PROMETHEUS_URL 每个 MinIO 服务器的环境变量 在部署中:

set MINIO_PROMETHEUS_URL="https://prometheus.example.net"

使用重新启动部署 mc admin service restart 应用变化。

MinIO 控制台使用 “minio-job” 抓取收集的指标 填充仪表板指标的作业:

MinIO Console Dashboard displaying Monitoring Data

MinIO 还发布了一个 Grafana Dashboard 用于可视化收集 指标。 有关配置 Prometheus 数据源的更完整文档 对于 Grafana,请参见 Grafana Support for Prometheus.