监控与遥测

Qdrant 以 普罗米修斯/OpenMetrics 格式公开其指标,因此您可以轻松地将它们与兼容的工具集成,并使用您自己的监控系统监控 Qdrant。您可以使用 /metrics 端点并将其配置为抓取目标。

指标端点: http://localhost:6333/metrics

与Qdrant的集成很容易通过Prometheus和Grafana进行配置

监控多节点集群

从多节点Qdrant集群中抓取指标时,重要的是从每个节点单独抓取,而不是使用负载均衡的URL。否则,每次抓取后,您的指标将显得不一致。

Qdrant 云中的监控

要从在Qdrant Cloud中运行的Qdrant集群中抓取指标,请注意需要API密钥才能访问/metrics/sys_metrics。Qdrant Cloud还支持将API密钥作为Bearer 令牌提供,某些提供商可能需要这种方式。

暴露的指标

有两个可用的端点:

  • /metrics 是底层 Qdrant 数据库节点的直接端点。

  • /sys_metrics 是一个仅限 Qdrant 云的端点,提供有关集群的额外操作和基础设施指标,如 CPU、内存和磁盘使用率、集合指标和负载均衡器遥测。

节点指标 /metrics

每个Qdrant服务器将暴露以下指标。

名称类型含义
app_infogauge关于Qdrant服务器的信息
app_status_recovery_modegauge如果Qdrant当前以恢复模式启动
collections_totalgauge集合数量
collections_vector_totalgauge所有集合中的向量总数
collections_full_totalgauge完整集合的数量
collections_aggregated_totalgauge聚合集合的数量
rest_responses_totalcounter通过REST API的响应总数
rest_responses_fail_totalcounter通过REST API失败的响应总数
rest_responses_avg_duration_secondsgaugeREST API 的平均响应时间
rest_responses_min_duration_secondsgaugeREST API中的最小响应持续时间
rest_responses_max_duration_secondsgaugeREST API中的最大响应持续时间
grpc_responses_totalcounter通过gRPC API的总响应数
grpc_responses_fail_totalcounter通过REST API失败的响应总数
grpc_responses_avg_duration_secondsgaugegRPC API中的平均响应持续时间
grpc_responses_min_duration_secondsgaugegRPC API中的最小响应持续时间
grpc_responses_max_duration_secondsgaugegRPC API中的最大响应持续时间
cluster_enabledgauge是否启用了集群支持。1 - 是
memory_active_bytesgauge应用程序分配的活跃页面中的总字节数。参考
memory_allocated_bytesgauge应用程序分配的总字节数。参考
memory_metadata_bytesgauge分配给分配器元数据的总字节数。参考
memory_resident_bytesgauge映射的物理驻留数据页中的最大字节数。参考
memory_retained_bytesgauge虚拟内存映射中的总字节数。参考
collection_hardware_metric_cpugauge集合的CPU测量

集群相关指标

还有一些指标仅在分布式模式下暴露。

名称类型含义
cluster_peers_totalgauge集群对等节点的总数
cluster_termcounter当前集群任期
cluster_commitcounter集群节点已知的最后提交(最终化)操作的索引
cluster_pending_operations_totalgauge集群对等节点的待处理操作总数
cluster_votergauge集群节点是否为投票者或学习者。1 - 投票者

集群系统指标 /sys_metrics

在Qdrant Cloud中,每个Qdrant集群将暴露以下指标。此端点在使用Qdrant开源版本时不可用。

重要的基础指标

名称类型含义
container_cpu_cfs_throttled_periods_totalcounter表示您的CPU需求高于实例提供的资源
kube_pod_container_resource_limitsgauge响应包含CPU和内存的指标列表。
qdrant_collection_number_of_grpc_requestscounter集合上的gRPC请求总数
qdrant_collection_number_of_rest_requestscounter集合上的REST请求总数
qdrant_node_rssanon_bytesgauge未使用内存映射文件分配的内存。这是内存的硬性指标,如果超过限制将导致OOM
kubelet_volume_stats_used_bytesgauge已使用的磁盘量
traefik_service_requests_totalcounter响应包含每个Traefik服务的指标列表。
traefik_service_request_duration_seconds_sumgauge响应包含每个Traefik服务的指标列表。

附加指标

名称类型含义
app_infogauge关于Qdrant服务器的信息
app_status_recovery_modegauge如果Qdrant当前以恢复模式启动
cluster_peers_totalcounter集群对等节点的总数
cluster_pending_operations_totalcounter集群中待处理操作的总数
collections_totalcounter集合数量
collections_vector_totalcounter所有集合中的向量总数
container_cpu_usage_seconds_totalcounter总CPU使用时间(秒)
container_fs_reads_bytes_totalcounter容器文件系统(磁盘)读取的总字节数
container_fs_reads_totalcounter容器文件系统(磁盘)上的读取操作总数
container_fs_writes_bytes_totalcounter容器文件系统(磁盘)写入的总字节数
container_fs_writes_totalcounter容器文件系统(磁盘)上的写操作总数
container_memory_cachegauge容器中用于缓存的内存
container_memory_mapped_filegauge容器中用于内存映射文件的内存
container_memory_rssgauge常驻集大小 (RSS) - 容器使用的内存,不包括交换空间
container_memory_working_set_bytesgauge容器使用的总内存,包括匿名和文件支持的内存
container_network_receive_bytes_totalcounter容器网络接口接收的总字节数
container_network_transmit_bytes_totalcounter通过容器的网络接口传输的总字节数
kube_pod_status_phasegaugePod状态,根据不同的阶段(失败/运行中/成功/未知)
kube_pod_status_readygaugePod 就绪状态 (未知/假/真)
qdrant_collection_number_of_collectionscounterQdrant中的集合总数
qdrant_collection_pending_operationscounter集合上待处理操作的总数

遥测端点

Qdrant 还提供了一个 /telemetry 端点,该端点提供有关数据库当前状态的信息,包括向量数量、分片数量和其他有用信息。您可以在 API 参考 中找到此端点的完整文档。

Kubernetes 健康检查端点

自 v1.5.0 版本起可用

Qdrant 暴露了三个端点,即 /healthz/livez/readyz,用于指示 Qdrant 服务器的当前状态。

这些目前提供最基本的状态响应,如果Qdrant已启动并准备就绪,则返回HTTP 200。

无论是否配置了API 密钥,端点始终可访问。

您可以阅读更多关于Kubernetes健康端点的信息 这里.

这个页面有用吗?

感谢您的反馈!🙏

我们很抱歉听到这个消息。😔 你可以在GitHub上编辑这个页面,或者创建一个GitHub问题。