使用 InfluxDB 进行监控和警报
MinIO 使用 Prometheus 数据模型发布集群和节点指标。InfluxDB 支持抓取 MinIO 指标数据以进行监控和警报。
本页上的步骤记录了以下内容:
配置 InfluxDB 服务以从 MinIO 部署中抓取并显示指标
针对 MinIO 指标配置警报
先决条件
此步骤需要以下内容:
对于 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 指标的一般性指导。
配置对 MinIO 指标的公共访问
将 MinIO 部署中所有节点的
MINIO_PROMETHEUS_AUTH_TYPE环境变量设置为"public"。然后您可以重新启动部署以允许对 MinIO 指标的公共访问。您可以通过尝试
curl指标端点来验证更改:curl https://HOSTNAME/minio/v2/metrics/cluster将
HOSTNAME替换为您访问 MinIO 部署所通过的负载均衡器或反向代理的 URL。您也可以指定任何单个节点为HOSTNAME:PORT,除了节点主机名外,还需指定 MinIO 服务器的 API 端口。响应体应包含一个已收集的 MinIO 指标列表。
登录 InfluxDB UI 并创建一个 Bucket
选择您想要存储 MinIO 指标的组织。
创建一个新的 Bucket,用于存储 MinIO 部署的指标。
创建一个新的抓取源
创建一个新的 InfluxDB Scraper。
指定到 MinIO 部署的完整 URL,包括指标端点:
https://HOSTNAME/minio/v2/metrics/cluster
将
HOSTNAME替换为您访问 MinIO 部署所通过的负载均衡器或反向代理的 URL。您也可以指定任何单个节点为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时发出警告(WARN)
创建一个名为
MINIO_QUORUM_WARNING的阈值检查。为
minio_cluster_drive_offline_total键设置过滤器。将阈值设置为当值等于您配置的纠删码奇偶校验设置减一时发出严重(CRITICAL)警报。
例如,一个使用 EC:4 的部署应将此值设置为
3。