文档

使用 InfluxDB 进行监控和告警

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

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

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

  • 配置 MinIO 指标上的告警

先决条件

此过程需要以下内容

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

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

  • 在您的本地主机上安装了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 替换为您访问 MinIO 部署的负载均衡器或反向代理的 URL。或者,您可以指定任何单个节点作为 HOSTNAME:PORT,除了节点主机名之外,还指定 MinIO 服务器 API 端口。

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

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

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

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

  3. 创建新的抓取源

    创建一个 新的 InfluxDB 抓取器

    指定 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 密钥设置过滤器。

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

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

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