使用 InfluxDB 进行监控和报警
MinIO 使用 Prometheus 数据模型 发布集群和节点指标。 InfluxDB 支持抓取 MinIO 指标数据以进行监控和报警。
本页上的过程记录了以下内容
配置 InfluxDB 服务以抓取和显示来自 MinIO 部署的指标
为 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 指标的一般指南。
配置对 MinIO 指标的公共访问
将
MINIO_PROMETHEUS_AUTH_TYPE
环境变量设置为"public"
,用于 MinIO 部署中的所有节点。然后,您可以重新启动部署以允许公开访问 MinIO 指标。您可以尝试使用
curl
指标端点来验证更改。curl https://HOSTNAME/minio/v2/metrics/cluster
将
HOSTNAME
替换为负载均衡器或反向代理的 URL,您通过该 URL 访问 MinIO 部署。或者,您可以指定任何单个节点作为HOSTNAME:PORT
,除了节点主机名外,还指定 MinIO 服务器 API 端口。响应正文应包含收集的 MinIO 指标列表。
登录 InfluxDB UI 并创建存储桶
选择您要存储 MinIO 指标的组织。
创建一个新存储桶,用于存储 MinIO 部署的指标。
创建一个新的抓取源
创建一个新的 InfluxDB 抓取器。
指定 MinIO 部署的完整 URL,包括指标端点。
https://HOSTNAME/minio/v2/metrics/cluster
将
HOSTNAME
替换为负载均衡器或反向代理的 URL,您通过该 URL 访问 MinIO 部署。或者,您可以指定任何单个节点作为HOSTNAME:PORT
,除了节点主机名外,还指定 MinIO 服务器 API 端口。验证数据
使用DataExplorer 可视化收集的 MinIO 数据。
例如,您可以设置
minio_cluster_capacity_usable_total_bytes
和minio_cluster_capacity_usable_free_bytes
的过滤器,以比较 MinIO 部署上的可用总空间与可用空闲空间。配置检查
创建一个新的 MinIO 指标检查。
以下示例检查规则提供了 MinIO 部署的警报基线。您可以修改或以其他方式使用这些示例作为构建自己的检查的指南。
创建一个名为
MINIO_NODE_DOWN
的阈值检查。为
minio_cluster_nodes_offline_total
键设置过滤器。将阈值设置为当值大于1 时警告。
创建一个名为
MINIO_QUORUM_WARNING
的阈值检查。为
minio_cluster_drive_offline_total
键设置过滤器。将阈值设置为当值比您配置的擦除编码奇偶校验设置小 1 时严重。
例如,使用 EC:4 的部署应将此值设置为
3
。