文档

使用 InfluxDB 进行监控和警报

MinIO 使用 Prometheus 数据模型发布集群和节点指标。InfluxDB 支持抓取 MinIO 指标数据以进行监控和警报。

本页上的步骤记录了以下内容:

  • 配置 InfluxDB 服务以从 MinIO 部署中抓取并显示指标

  • 针对 MinIO 指标配置警报

先决条件

此步骤需要以下内容:

  • 一个现有的 InfluxDB 部署,已配置一个或多个通知端点

  • 一个现有的 MinIO 部署,可网络访问 InfluxDB 部署

  • 在您的本地主机上安装了 mc,并已配置为访问 MinIO 部署

这些说明使用版本 2 的指标。有关指标 API 版本的更多信息,请参阅指标和警报

对于 Kubernetes 上的 MinIO 部署,此步骤假定所有必要的网络控制组件(如 Ingress 或负载均衡器)都已就位,以便在 MinIO 租户和 InfluxDB 服务之间进行访问。

配置 InfluxDB 以收集 MinIO 指标并发出警报

重要

此步骤专门使用 InfluxDB UI 创建一个抓取端点。

InfluxDB UI 提供的配置级别不如使用 Telegraf 及其相应的 Prometheus 插件。具体来说:

  • 您无法通过 InfluxDB UI 启用对 MinIO 指标端点的身份验证访问

  • 您无法为收集的指标设置标签(例如 url_tag)以唯一标识给定 MinIO 部署的指标

Telegraf Prometheus 插件还支持 Kubernetes 特有的功能,例如抓取给定 MinIO 租户的 minio 服务。

配置 Telegraf 超出了本步骤的范围。您可以将此步骤用作配置 Telegraf 抓取 MinIO 指标的一般性指导。

  1. 配置对 MinIO 指标的公共访问

    将 MinIO 部署中所有节点的 MINIO_PROMETHEUS_AUTH_TYPE 环境变量设置为 "public"。然后您可以重新启动部署以允许对 MinIO 指标的公共访问。

    您可以通过尝试 curl 指标端点来验证更改:

    curl https://HOSTNAME/minio/v2/metrics/cluster
    

    HOSTNAME 替换为您访问 MinIO 部署所通过的负载均衡器或反向代理的 URL。您也可以指定任何单个节点为 HOSTNAME:PORT,除了节点主机名外,还需指定 MinIO 服务器的 API 端口。

    响应体应包含一个已收集的 MinIO 指标列表。

  2. 登录 InfluxDB UI 并创建一个 Bucket

    选择您想要存储 MinIO 指标的组织

    创建一个新的 Bucket,用于存储 MinIO 部署的指标。

  3. 创建一个新的抓取源

    创建一个新的 InfluxDB Scraper

    指定到 MinIO 部署的完整 URL,包括指标端点:

    https://HOSTNAME/minio/v2/metrics/cluster
    

    HOSTNAME 替换为您访问 MinIO 部署所通过的负载均衡器或反向代理的 URL。您也可以指定任何单个节点为 HOSTNAME:PORT,除了节点主机名外,还需指定 MinIO 服务器的 API 端口。

  4. 验证数据

    使用数据浏览器(DataExplorer)来可视化收集到的 MinIO 数据。

    例如,您可以对 minio_cluster_capacity_usable_total_bytesminio_cluster_capacity_usable_free_bytes 设置过滤器,以比较 MinIO 部署上的总可用空间和总空闲空间。

  5. 配置一个检查

    针对 MinIO 指标创建一个新的检查

    以下示例检查规则为 MinIO 部署提供了一套基线警报。您可以修改或以其他方式使用这些示例来指导您构建自己的检查。

    • 创建一个名为 MINIO_NODE_DOWN阈值检查

      minio_cluster_nodes_offline_total 键设置过滤器。

      阈值设置为当值大于1时发出警告(WARN)

    • 创建一个名为 MINIO_QUORUM_WARNING阈值检查

      minio_cluster_drive_offline_total 键设置过滤器。

      阈值设置为当值等于您配置的纠删码奇偶校验设置减一时发出严重(CRITICAL)警报。

      例如,一个使用 EC:4 的部署应将此值设置为 3

    配置您的通知端点通知规则,以便每种类型的检查都能触发适当的响应。

English 中文