欢迎来到即将发布的 MinIO 文档版本! 此页面上的内容正在积极开发中 可能随时更改。 如果找不到您要找的内容,请查看我们的 历史文档。 感谢您的耐心等待。 我们期待您贡献自己强大的力量,帮助更多的中国技术开发者![翻译]

指标和警报

Table of Contents

MinIO 杠杆 Prometheus 用于指标和警报。 Prometheus 是一个开源系统和服务监控系统 支持基于收集的指标进行分析和警报。 Prometheus 生态系统包括多个 integrations, 允许广泛的处理和存储范围 收集的指标。

  • MinIO 发布了 Prometheus 兼容的集群抓取端点和 节点级指标。 看 指标 为了 更多信息。

  • 对于警报,请使用 Prometheus Alerting RulesAlert Manager 根据收集的指标触发警报。 看 警报 想要查询更多的信息。

MinIO 使用 Prometheus 兼容数据发布收集的指标数据 结构。 任何与 Prometheus 兼容的抓取软件都可以摄取和 处理 MinIO 指标以进行分析、可视化和警报。

指标

MinIO 为集群和节点级指标提供了一个抓取端点。 创建一个新的 scraping configuration 对于 两个端点开始从 MinIO 部署收集指标。

MinIO 还发布了一个 Grafana Dashboard 用于可视化收集 指标。 有关配置 Prometheus 数据源的更完整文档 对于 Grafana,请参见 Grafana Support for Prometheus.

默认情况下,MinIO 需要身份验证才能抓取指标端点。 使用 mc admin prometheus generate 命令生成 必要的承载令牌,用于配置 scrape_configs.bearer_token 字段。 您也可以禁用 指标端点身份验证通过设置 MINIO_PROMETHEUS_AUTH_TYPEpublic.

集群指标

MinIO 将集群级别的指标发布到以下端点:

http://minio.example.net:9000/minio/v2/metrics/cluster

http://minio.example.net 替换为 MinIO 的主机名节点。

以下示例描述了一个用于收集的 scrape_configs 条目 集群指标:

scrape_configs:
- job_name: minio-job
  bearer_token: <secret>
  metrics_path: /minio/v2/metrics/cluster
  scheme: https
  static_configs:
  - targets: ['minio.example.net:9000']

job_name

抓取作业的名称。

bearer_token

生成的 JWT 令牌 mc admin prometheus generate.

如果 MinIO 部署开始于 MINIO_PROMETHEUS_AUTH_TYPE 设置 public.

static_configs[n].targets

MinIO 部署的端点。 您可以指定任何节点 用于收集集群指标的部署。 对于有负载的集群 平衡器管理 MinIO 节点之间的连接,指定 负载均衡器的地址。

节点指标

MinIO 将节点级指标发布到以下端点:

http://minio.example.net:9000/minio/v2/metrics/node

http://minio.example.net 替换为 MinIO 的主机名节点。

以下示例描述了一个用于收集的 scrape_configs 条目 节点指标。 您必须为 MinIO 部署中的每个节点指定一个作业:

scrape_configs:
- job_name: minio-job
  bearer_token: <secret>
  metrics_path: /minio/v2/metrics/node
  scheme: https
  static_configs:
  - targets: ['minio.example.net:9000']

job_name

抓取作业的名称。

bearer_token

生成的 JWT 令牌 mc admin prometheus generate.

如果 MinIO 节点以 MINIO_PROMETHEUS_AUTH_TYPE 设置 public.

static_configs[n].targets

MinIO 节点的端点。

可用指标

MinIO 发布以下指标,其中每个指标都包含一个标签,用于 生成该指标的 MinIO 服务器。

对象度量

minio_bucket_objects_size_distribution

存储中对象大小的分布,包括存储的标签姓名。

复制指标

这些指标仅为 MinIO 集群填充 Server-Side Bucket Replication 启用。

minio_bucket_replication_failed_bytes

至少一次复制失败的总字节数。

minio_bucket_replication_pending_bytes

待复制的总字节数。

minio_bucket_replication_received_bytes

从另一个源存储复制到此存储桶的总字节数。

minio_bucket_replication_sent_bytes

复制到目标存储的总字节数。

minio_bucket_replication_pending_count

此存储挂起的复制操作总数。

minio_bucket_replication_failed_count

此存储的复制操作失败总数。

存储指标

minio_bucket_usage_object_total

对象总数

minio_bucket_usage_total_bytes

总存储大小(以字节为单位)

缓存指标

minio_cache_hits_total

磁盘缓存命中总数

minio_cache_missed_total

磁盘缓存未命中总数

minio_cache_sent_bytes

从缓存提供的总字节数

minio_cache_total_bytes

缓存磁盘的总大小(以字节为单位)

minio_cache_usage_info

缓存使用总百分比,值为 1 表示高,0 表示低,标签 级别也设置好了

minio_cache_used_bytes

当前缓存使用量(以字节为单位)

集群指标

minio_cluster_capacity_raw_free_bytes

集群中的在线可用总容量。

minio_cluster_capacity_raw_total_bytes

集群中的在线总容量。

minio_cluster_capacity_usable_free_bytes

集群中在线可用的总可用容量。

minio_cluster_capacity_usable_total_bytes

集群中在线的总可用容量。

节点指标

minio_cluster_nodes_offline_total

离线的 MinIO 节点总数。

minio_cluster_nodes_online_total

在线的 MinIO 节点总数。

minio_heal_objects_error_total

在当前自我修复运行中修复失败的对象

minio_heal_objects_heal_total

在当前自我修复运行中修复的对象

minio_heal_objects_total

当前自愈运行中扫描的对象

minio_heal_time_last_activity_nano_seconds

自上次自我修复活动以来经过的时间(以纳秒为单位)。 这是定的 到 -1 直到初始自我修复

minio_inter_node_traffic_received_bytes

从其他对等节点接收的总字节数。

minio_inter_node_traffic_sent_bytes

发送到其他对等节点的总字节数。

minio_node_disk_free_bytes

磁盘上可用的总存储空间。

minio_node_disk_total_bytes

磁盘上的总存储量。

minio_node_disk_used_bytes

磁盘上使用的总存储空间。

minio_node_file_descriptor_limit_total

限制 MinIO 服务器进程的打开文件描述符总数。

minio_node_file_descriptor_open_total

MinIO 服务器进程打开的文件描述符总数。

minio_node_io_rchar_bytes

进程从底层存储系统读取的总字节数,包括 缓存, /proc/[pid]/io rchar

minio_node_io_read_bytes

进程从底层存储系统读取的总字节数, /proc/[pid]/io read_bytes

minio_node_io_wchar_bytes

进程写入底层存储系统的总字节数,包括 页面缓存, /proc/[pid]/io wchar

minio_node_io_write_bytes

进程写入底层存储系统的总字节数, /proc/[pid]/io write_bytes

minio_node_process_starttime_seconds

每个节点的 MinIO 进程的启动时间,自 Unix 纪元以来的秒数。

minio_node_process_uptime_seconds

每个节点的 MinIO 进程的正常运行时间(以秒为单位)。

minio_node_syscall_read_total

对内核的总读取 SysCalls. /proc/[pid]/io syscr

minio_node_syscall_write_total

向内核写入 SysCall 的总数. /proc/[pid]/io syscw

S3 指标

minio_s3_requests_error_total

有错误的 S3 请求总数

minio_s3_requests_inflight_total

当前进行中的 S3 请求总数

minio_s3_requests_total

S3 请求总数

minio_s3_time_ttbf_seconds_distribution

跨 API 调用分配第一个字节的时间。

minio_s3_traffic_received_bytes

接收到的 s3 字节总数。

minio_s3_traffic_sent_bytes

发送的 s3 字节总数

软件指标

minio_software_commit_info

MinIO 版本的 Git 提交 hash。

minio_software_version_info

服务器的 MinIO 发布标签

警报

您可以使用 Prometheus 配置警报 Alerting Rules 基于收集到的 MinIO 指标。 Prometheus Alert Manager 支持管理由配置产生的警报 警报规则。 Prometheus 还支持 Webhook Receiver 用于发布警报 Prometheus AlertManager 不支持的机制。