监控与遥测
Qdrant 以 Prometheus/OpenMetrics 格式公开其指标,因此您可以轻松地将其与兼容工具集成,并使用自己的监控系统监控 Qdrant。您可以利用 /metrics 端点并将其配置为抓取目标(scrape target)。
指标端点: https://:6333/metrics
通过 Prometheus 和 Grafana 可以轻松配置与 Qdrant 的集成。
度量
Qdrant 以 Prometheus/OpenMetrics 格式公开各种指标,通常与 Grafana 配合用于监控。
提供两个端点:
/metrics:用于 Qdrant 节点/对等节点的指标,请参阅所有指标。/sys_metrics(仅限 Qdrant Cloud):用于关于集群的指标,如 CPU、内存、磁盘利用率、集合指标和负载均衡器遥测。有关更多信息,请参阅 Qdrant 云监控。
请注意,/metrics 仅报告所连接的对等节点的指标。因此,即使涉及负载均衡器,分别从每个对等节点进行抓取也非常重要。
节点指标 /metrics
每个 Qdrant 节点都会公开以下指标。
计数器(例如创建的快照数量)在节点重启时会重置。
应用程序指标
| 名称 | 类型 | 含义 |
|---|---|---|
| app_info | 仪表盘 (gauge) | Qdrant 服务器名称和版本 |
| app_status_recovery_mode | 仪表盘 (gauge) | 是否以恢复模式启动 |
集合指标
| 名称 | 类型 | 含义 |
|---|---|---|
| collections_total | 仪表盘 (gauge) | 集合数量 |
| collection_points | 仪表盘 (gauge) | 点数,按集合统计 (v1.16+) |
| collection_vectors | 仪表盘 (gauge) | 向量数量,按集合和向量名称统计 (v1.16+) |
| collections_vector_total | 仪表盘 (gauge) | 所有集合中的向量总数 |
| collection_indexed_only_excluded_points | 仪表盘 (gauge) | 在 indexed_only 搜索中排除的点数,按集合和向量名称统计 (v1.16+) |
| collection_active_replicas_min | 仪表盘 (gauge) | 所有集合和分片中活动副本的最小值 (v1.16+) |
| collection_active_replicas_max | 仪表盘 (gauge) | 所有集合和分片中活动副本的最大值 (v1.16+) |
| collection_dead_replicas | 仪表盘 (gauge) | 所有集合和分片中非活动副本的数量 (v1.16+) |
| collection_running_optimizations | 仪表盘 (gauge) | 正在运行的优化任务数量,按集合统计 (v1.16+) |
| collection_hardware_metric_cpu | 计数器 (counter) | 集合的 CPU 测量值,按集合统计 (v1.13+) 1 |
| collection_hardware_metric_payload_io_read | 计数器 (counter) | 有效载荷 IO 读取操作测量值,按集合统计 (v1.13+) 1 |
| collection_hardware_metric_payload_io_write | 计数器 (counter) | 有效载荷 IO 写入操作测量值,按集合统计 (v1.13+) 1 |
| collection_hardware_metric_payload_index_io_read | 计数器 (counter) | 有效载荷索引读取操作测量值,按集合统计 (v1.13+) 1 |
| collection_hardware_metric_payload_index_io_write | 计数器 (counter) | 有效载荷索引写入操作测量值,按集合统计 (v1.13+) 1 |
| collection_hardware_metric_vector_io_read | 计数器 (counter) | 向量 IO 读取操作测量值,按集合统计 (v1.13+) 1 |
| collection_hardware_metric_vector_io_write | 计数器 (counter) | 向量 IO 写入操作测量值,按集合统计 (v1.13+) 1 |
快照指标
| 名称 | 类型 | 含义 |
|---|---|---|
| snapshot_creation_running | 仪表盘 (gauge) | 正在创建的快照数量,按集合统计 (v1.16+) |
| snapshot_recovery_running | 仪表盘 (gauge) | 正在恢复的快照数量,按集合统计 (v1.16+) |
| snapshot_created_total | 计数器 (counter) | 自启动以来创建的快照总数,按集合统计 (v1.16+) |
API 响应指标
| 名称 | 类型 | 含义 |
|---|---|---|
| rest_responses_total | 计数器 (counter) | REST API 的响应总数 |
| rest_responses_fail_total | 计数器 (counter) | REST API 的失败响应总数 |
| rest_responses_avg_duration_seconds | 仪表盘 (gauge) | REST API 的平均响应时长 |
| rest_responses_min_duration_seconds | 仪表盘 (gauge) | REST API 的最小响应时长 |
| rest_responses_max_duration_seconds | 仪表盘 (gauge) | REST API 的最大响应时长 |
| rest_responses_duration_seconds | 直方图 (histogram) | REST API 响应时长的直方图 (v1.8+) |
| grpc_responses_total | 计数器 (counter) | gRPC API 的响应总数 |
| grpc_responses_fail_total | 计数器 (counter) | REST API 的失败响应总数 |
| grpc_responses_avg_duration_seconds | 仪表盘 (gauge) | gRPC API 的平均响应时长 |
| grpc_responses_min_duration_seconds | 仪表盘 (gauge) | gRPC API 的最小响应时长 |
| grpc_responses_max_duration_seconds | 仪表盘 (gauge) | gRPC API 的最大响应时长 |
| grpc_responses_duration_seconds | 直方图 (histogram) | gRPC API 响应时长的直方图 (v1.8+) |
进程指标
| 名称 | 类型 | 含义 |
|---|---|---|
| memory_active_bytes | 仪表盘 (gauge) | 应用程序分配的活动页面中的总字节数 (参考) |
| memory_allocated_bytes | 仪表盘 (gauge) | 应用程序分配的总字节数 (参考) |
| memory_metadata_bytes | 仪表盘 (gauge) | 专用于分配器元数据的总字节数 (参考) |
| memory_resident_bytes | 仪表盘 (gauge) | 映射的物理常驻数据页中的最大字节数 (参考) |
| memory_retained_bytes | 仪表盘 (gauge) | 虚拟内存映射中的总字节数 (参考) |
| process_threads | 仪表盘 (gauge) | 使用的系统线程数 (v1.16+) |
| process_open_mmaps | 仪表盘 (gauge) | 打开的内存映射数量 (v1.16+) |
| system_max_mmaps | 仪表盘 (gauge) | 系统范围内允许打开的内存映射最大数量 (v1.16+) |
| process_open_fds | 仪表盘 (gauge) | 打开的文件描述符数量 (v1.16+) |
| process_max_fds | 仪表盘 (gauge) | 允许打开的文件描述符最大数量 (v1.16+) |
| process_minor_page_faults_total | 计数器 (counter) | 进程遇到的次要页面错误数量 (v1.16+) |
| process_major_page_faults_total | 计数器 (counter) | 进程遇到的主要页面错误数量 (v1.16+) |
集群指标(共识)
报告节点当前集群共识状态的指标。仅在启用分布式模式时公开。
| 名称 | 类型 | 含义 |
|---|---|---|
| cluster_enabled | 仪表盘 (gauge) | 是否启用了分布式模式 2 |
| cluster_peers_total | 仪表盘 (gauge) | 集群对等节点数量 2 |
| cluster_term | 计数器 (counter) | Raft 共识任期 2 |
| cluster_commit | 计数器 (counter) | Raft 共识提交 - 最后提交的操作 2 |
| cluster_pending_operations_total | 仪表盘 (gauge) | 待处理的共识操作数量 2 |
| cluster_voter | 仪表盘 (gauge) | 是否为共识投票者 (1) 或学习者 (0) 2 |
指标配置
自 v1.16.0 起可用
在自托管环境中,您有更多指标配置选项。
默认情况下,所有 Qdrant 指标都没有应用程序命名空间前缀。您可以在配置中使用 service.metrics_prefix 设置前缀。
要实现此目的,例如您可以使用以下环境变量
QDRANT__SERVICE__METRICS_PREFIX="qdrant_"
遥测端点
Qdrant 还提供了一个 /telemetry 端点,提供有关数据库当前状态的信息,包括向量数量、分片数量和其他有用信息。您可以在 API 参考中找到该端点的完整文档。
集群范围遥测
/telemetry 端点从被查询的对等节点的角度进行报告。Qdrant 还提供了一个 /cluster/telemetry 端点,它会聚合来自所有对等节点的遥测数据。
这包含的信息比 /telemetry 少,但能更可靠地提供分片传输进度等信息。您可以在 API 参考中找到该端点的完整文档。
Kubernetes 健康检查端点
自 v1.5.0 起可用
Qdrant 公开三个端点,即 /healthz、/livez 和 /readyz,用于指示 Qdrant 服务器的当前状态。
这些目前提供最基础的状态响应,如果 Qdrant 已启动并可供使用,则返回 HTTP 200。
无论是否配置了 API 密钥,这些端点始终可访问。
您可以在此处阅读有关 Kubernetes 健康检查端点的更多信息。