Prometheus 监控
Prometheus 监控系统能够在指定的时间间隔内从配置的目标收集指标,评估规则表达式,展示结果,并根据特定条件触发告警。
通过将 Zilliz Cloud 与 Prometheus 集成,您可以收集并监控与 Zilliz Cloud 集群相关的指标。
Prometheus 监控接入仅支持 Dedicated 版和 BYOC 集群。
配置 Prometheus 监控
要配置 Prometheus 以采集 Zilliz Cloud 集群指标,请按照以下步骤操作:
-
获取 Prometheus 实例的
Prometheus.yml
配置文件。有关更多信息,请参阅 Prometheus 官方文档。 -
将以下代码片段添加到
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
。 -
-
保存并应用
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 暴露的指标带有以下标识符标签:
标签名称 | 描述 | 示例值 |
---|---|---|
| 指标来源的 Zilliz Cloud 集群 ID。 | - |
| 拥有该 Zilliz Cloud 集群的组织 ID。 | - |
| 该集群所属组织内项目的 ID。 | - |
| 正在监控的 collection 名称。 | - |
| 对数据执行的操作类型。 |
|
| 数据操作的结果。 |
|
可用指标
下表列出了 Zilliz Cloud 可用的指标,包括指标类型、描述和相关标签。
指标名称 | 类型 | 描述 | 标签 |
---|---|---|---|
| Gauge | 当前 CU 容量利用率 |
|
| Gauge | 当前存储容量利用率 |
|
| Gauge | 使用的总存储空间 |
|
| Gauge | 当前写入吞吐量 |
|
| Counter | 处理的总请求数 |
|
| Counter | 所有请求中操作的向量总数 |
|
| Histogram | 处理请求的延时分布 |
|
| Counter | 超过延时阈值的查询数 |
|
| Gauge | 存储的 entity 总数 |
|
| Gauge | 当前加载到内存中的 entity 数 |
|
| Gauge | Collection 总数 |
|
| Gauge | 未加载的 collection 数 |
|
示例查询
以下是一些示例查询,您可以使用 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]))