跳到主要内容

Prometheus 监控

Prometheus 监控系统能够在指定的时间间隔内从配置的目标收集指标,评估规则表达式,展示结果,并根据特定条件触发告警。

通过将 Zilliz Cloud 与 Prometheus 集成,您可以收集并监控与 Zilliz Cloud 集群相关的指标。

📘说明

Prometheus 监控接入仅支持 Dedicated 版和 BYOC 集群。

配置 Prometheus 监控

要配置 Prometheus 以采集 Zilliz Cloud 集群指标,请按照以下步骤操作:

  1. 获取 Prometheus 实例的 Prometheus.yml 配置文件。有关更多信息,请参阅 Prometheus 官方文档

  2. 将以下代码片段添加到 Prometheus.yml 文件的 scrape_configs 部分。请将以下占位符替换为实际值:

    • {{apiKey}}:您用于访问集群指标的 Zilliz Cloud API 密钥。

    • {{clusterId}}:您希望监控的 Zilliz Cloud 集群的 ID。

    scrape_configs:
    - job_name: "inxx-xxxxxxxxxxxxxxx"
    scheme: https
    metrics_path: /v2/clusters/{{clusterId}}/metrics/export
    authorization:
    type: Bearer
    credentials: {{apiKey}}

    static_configs:
    - targets: ["api.cloud.zilliz.com.cn"]

    参数

    描述

    job_name

    指标抓取任务的名称,用于识别任务。

    scheme

    指标时使用的协议方案,设置为 https。Prometheus 会通过 HTTPS 安全地抓取目标服务的数据。

    metrics_path

    目标服务上用于提供指标数据的路径。

    authorization.type

    身份验证类型,设置为 Bearer

    authorization.credentials

    用于授权访问 Zilliz Cloud 集群的 API 密钥。

    static_configs.targets

    Prometheus 将要抓取的静态目标, 即 Zilliz Cloud RESTful API 的主机地址。设置为 api.cloud.zilliz.com.cn

  3. 保存并应用 Prometheus.yml 文件。

有关更多信息,请参阅 Prometheus 官方文档

指标示例

以下示例展示了从 Zilliz Cloud /metrics/export 端点抓取的集群指标:

# HELP zilliz_cluster_capacity Cluster capacity ratio
# TYPE zilliz_cluster_capacity gauge
zilliz_cluster_capacity 0.88
# HELP zilliz_cluster_computation Cluster computation ratio
# TYPE zilliz_cluster_computation gauge
zilliz_cluster_computation 0.1
# HELP zilliz_storage_bytes Cluster storage usage
# TYPE zilliz_storage_bytes gauge
zilliz_cluster_storage_bytes 8.9342782E7
# HELP zilliz_request_vectors_total Total number of vectors in requests
# TYPE zilliz_request_vectors_total counter
zilliz_request_vectors_total{request_type="bulk_insert"} 1.0
zilliz_request_vectors_total{request_type="delete"} 1.0
zilliz_request_vectors_total{request_type="insert"} 1.0
zilliz_request_vectors_total{request_type="search"} 1.0
zilliz_request_vectors_total{request_type="upsert"} 1.0

Zilliz Cloud 指标标签

Zilliz Cloud 暴露的指标带有以下标识符标签:

标签名称

描述

示例值

cluster_id

指标来源的 Zilliz Cloud 集群 ID。

-

org_id

拥有该 Zilliz Cloud 集群的组织 ID。

-

project_id

该集群所属组织内项目的 ID。

-

collection_name

正在监控的 collection 名称。

-

request_type

对数据执行的操作类型。

insert, upsert, delete, bulk_insert, flush, search, query

status

数据操作的结果。

success, fail

可用指标

下表列出了 Zilliz Cloud 可用的指标,包括指标类型、描述和相关标签。

指标名称

类型

描述

标签

zilliz_cluster_computation

Gauge

当前 CU 容量利用率

cluster_id, org_id, project_id

zilliz_cluster_capacity

Gauge

当前存储容量利用率

cluster_id, org_id, project_id

zilliz_storage_bytes

Gauge

使用的总存储空间

cluster_id, org_id, project_id

zilliz_cluster_write_capacity

Gauge

当前写入吞吐量

cluster_id, org_id, project_id

zilliz_requests_total

Counter

处理的总请求数

cluster_id, org_id, project_id, request_type, status

zilliz_request_vectors_total

Counter

所有请求中操作的向量总数

cluster_id, org_id, project_id, request_type

zilliz_request_duration_seconds_bucket

Histogram

处理请求的延时分布

cluster_id, org_id, project_id, request_type

zilliz_slow_queries_total

Counter

超过延时阈值的查询数

cluster_id, org_id, project_id

zilliz_entities

Gauge

存储的 entity 总数

cluster_id, org_id, project_id, collection_name

zilliz_loaded_entities

Gauge

当前加载到内存中的 entity 数

cluster_id, org_id, project_id, collection_name

zilliz_collections

Gauge

Collection 总数

cluster_id, org_id, project_id

zilliz_unloaded_collections

Gauge

未加载的 collection 数

cluster_id, org_id, project_id

示例查询

以下是一些示例查询,您可以使用 Prometheus 分析 Zilliz Cloud 指标。

  • 计算插入 QPS

    rate(zilliz_requests_total{cluster_id='in01-xxxxx',request_type='insert'}[1m])
  • 计算插入 VPS

    rate(zilliz_request_vectors_total{cluster_id='in01-xxxxx',request_type='insert'}[1m])
  • 计算 P70 插入操作的延时

    histogram_quantile(
    0.70,
    sum(
    rate(zilliz_request_duration_seconds_bucket{cluster_id='?',request_type='insert'}[1m])
    ) by (le)
    )
  • 计算插入请求失败率

    rate(zilliz_requests_total{cluster_id=?,status!='success'}[1m])
    /
    rate(zilliz_requests_total{cluster_id=?}[1m])
  • 计算每分钟的慢查询数

    sum(increase(zilliz_slow_queries_total{cluster_id=?}[1m]))
  • 计算每五分钟的慢查询数

    sum(increase(zilliz_slow_queries_total{cluster_id=?}[5m]))