监控与遥测
Qdrant 以 Prometheus/OpenMetrics 格式公开其指标,因此您可以轻松将其与兼容工具集成,并使用自己的监控系统监控 Qdrant。您可以使用 /metrics 端点并将其配置为抓取目标。
Qdrant 与 Prometheus 和 Grafana 的集成易于配置。
度量
Qdrant 以 Prometheus/OpenMetrics 格式公开各种指标,通常与 Grafana 一起用于监控。
提供两个端点
/metrics用于 Qdrant 节点/对等体的指标,请参阅所有指标。/sys_metrics(仅限 Qdrant Cloud)用于有关您的集群的指标,如 CPU、内存、磁盘利用率、集合指标和负载均衡器遥测。欲了解更多信息,请参阅Qdrant Cloud 监控。
请注意,/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 | Payload IO 读取操作测量,按集合计算(v1.13+) 1 |
| collection_hardware_metric_payload_io_write | counter | Payload IO 写入操作测量,按集合计算(v1.13+) 1 |
| collection_hardware_metric_payload_index_io_read | counter | Payload 索引读取操作测量,按集合计算(v1.13+) 1 |
| collection_hardware_metric_payload_index_io_write | counter | Payload 索引写入操作测量,按集合计算(v1.13+) 1 |
| collection_hardware_metric_vector_io_read | counter | Vector IO 读取操作测量,按集合计算(v1.13+) 1 |
| collection_hardware_metric_vector_io_write | counter | Vector 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 | 直方图 | 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 | 直方图 | 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 参考中找到此端点的完整文档。
Kubernetes 健康端点
自 v1.5.0 起可用
Qdrant 公开三个端点,即 /healthz、/livez 和 /readyz,以指示 Qdrant 服务器的当前状态。
这些端点目前提供最基本的getStatus响应,如果 Qdrant 已启动并可供使用,则返回 HTTP 200。
无论是否配置了API 密钥,这些端点始终可访问。
您可以在此处阅读更多关于 Kubernetes 健康端点的信息。