文档

使用 InfluxDB 进行监控和告警

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

此页面上的过程记录了以下内容

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

  • 配置 MinIO 指标上的告警

先决条件

此过程需要以下内容

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

  • 一个现有的 MinIO 部署,具有对 InfluxDB 部署的网络访问权限

  • 在您本地主机上安装的 mc,已配置为 访问 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_PROMETHEUS_AUTH_TYPE环境变量设置为"public",适用于 MinIO 部署中的所有节点。然后,您可以重新启动部署以允许公开访问 MinIO 指标。

    您可以尝试curl指标端点来验证更改。

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

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

    响应正文应包含收集到的 MinIO 指标列表。

  2. 登录 InfluxDB UI 并创建存储桶

    选择您要在其中存储 MinIO 指标的组织

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

  3. 创建新的抓取源

    创建一个新的 InfluxDB 抓取器

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

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

    HOSTNAME替换为负载均衡器或反向代理的 URL,您通过它访问 MinIO 部署。或者,您可以指定任何单个节点作为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键设置过滤器。

      当值为比您配置的擦除编码奇偶校验设置少 1 时,将阈值设置为CRITICAL

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

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