Monitoring & Telemetry

Qdrant exposes its metrics in Prometheus/OpenMetrics format, so you can integrate them easily with the compatible tools and monitor Qdrant with your own monitoring system. You can use the /metrics endpoint and configure it as a scrape target.

Metrics endpoint: http://localhost:6333/metrics

The integration with Qdrant is easy to configure with Prometheus and Grafana.

Monitoring multi-node clusters

When scraping metrics from multi-node Qdrant clusters, it is important to scrape from each node individually instead of using a load-balanced URL. Otherwise, your metrics will appear inconsistent after each scrape.

Monitoring in Qdrant Cloud

To scrape metrics from a Qdrant cluster running in Qdrant Cloud, note that an API key is required to access /metrics and /sys_metrics. Qdrant Cloud also supports supplying the API key as a Bearer token, which may be required by some providers.

Exposed metrics

There are two endpoints avaliable:

  • /metrics is the direct endpoint of the underlying Qdrant database node.

  • /sys_metrics is a Qdrant cloud-only endpoint that provides additional operational and infrastructure metrics about your cluster, like CPU, memory and disk utilisation, collection metrics and load balancer telemetry.

Node metrics /metrics

Each Qdrant server will expose the following metrics.

NameTypeMeaning
app_infogaugeInformation about Qdrant server
app_status_recovery_modegaugeIf Qdrant is currently started in recovery mode
collections_totalgaugeNumber of collections
collections_vector_totalgaugeTotal number of vectors in all collections
collections_full_totalgaugeNumber of full collections
collections_aggregated_totalgaugeNumber of aggregated collections
rest_responses_totalcounterTotal number of responses through REST API
rest_responses_fail_totalcounterTotal number of failed responses through REST API
rest_responses_avg_duration_secondsgaugeAverage response duration in REST API
rest_responses_min_duration_secondsgaugeMinimum response duration in REST API
rest_responses_max_duration_secondsgaugeMaximum response duration in REST API
grpc_responses_totalcounterTotal number of responses through gRPC API
grpc_responses_fail_totalcounterTotal number of failed responses through REST API
grpc_responses_avg_duration_secondsgaugeAverage response duration in gRPC API
grpc_responses_min_duration_secondsgaugeMinimum response duration in gRPC API
grpc_responses_max_duration_secondsgaugeMaximum response duration in gRPC API
cluster_enabledgaugeWhether the cluster support is enabled. 1 - YES
memory_active_bytesgaugeTotal number of bytes in active pages allocated by the application. Reference
memory_allocated_bytesgaugeTotal number of bytes allocated by the application. Reference
memory_metadata_bytesgaugeTotal number of bytes dedicated to allocator metadata. Reference
memory_resident_bytesgaugeMaximum number of bytes in physically resident data pages mapped. Reference
memory_retained_bytesgaugeTotal number of bytes in virtual memory mappings. Reference
collection_hardware_metric_cpugaugeCPU measurements of a collection

Cluster-related metrics

There are also some metrics which are exposed in distributed mode only.

NameTypeMeaning
cluster_peers_totalgaugeTotal number of cluster peers
cluster_termcounterCurrent cluster term
cluster_commitcounterIndex of last committed (finalized) operation cluster peer is aware of
cluster_pending_operations_totalgaugeTotal number of pending operations for cluster peer
cluster_votergaugeWhether the cluster peer is a voter or learner. 1 - VOTER

Cluster system metrics /sys_metrics

In Qdrant Cloud, each Qdrant cluster will expose the following metrics. This endpoint is not available when running Qdrant open-source.

Important Base Metrics

NameTypeMeaning
container_cpu_cfs_throttled_periods_totalcounterIndicating that your CPU demand was higher than what your instance offers
kube_pod_container_resource_limitsgaugeResponse contains list of metrics for CPU and Mem.
qdrant_collection_number_of_grpc_requestscounterTotal number of gRPC requests on a collection
qdrant_collection_number_of_rest_requestscounterTotal number of REST requests on a collection
qdrant_node_rssanon_bytesgaugeAllocated memory without memory-mapped files. This is the hard metric on memory which will lead to an OOM if it goes over the limit
kubelet_volume_stats_used_bytesgaugeAmount of disk used
traefik_service_requests_totalcounterResponse contains list of metrics for each Traefik service.
traefik_service_request_duration_seconds_sumgaugeResponse contains list of metrics for each Traefik service.

Additional Metrics

NameTypeMeaning
app_infogaugeInformation about the Qdrant server
app_status_recovery_modegaugeIf Qdrant is currently started in recovery mode
cluster_peers_totalcounterTotal number of cluster peers
cluster_pending_operations_totalcounterTotal number of pending operations in the cluster
collections_totalcounterNumber of collections
collections_vector_totalcounterTotal number of vectors in all collections
container_cpu_usage_seconds_totalcounterTotal CPU usage in seconds
container_fs_reads_bytes_totalcounterTotal number of bytes read by the container file system (disk)
container_fs_reads_totalcounterTotal number of read operations on the container file system (disk)
container_fs_writes_bytes_totalcounterTotal number of bytes written by the container file system (disk)
container_fs_writes_totalcounterTotal number of write operations on the container file system (disk)
container_memory_cachegaugeMemory used for cache in the container
container_memory_mapped_filegaugeMemory used for memory-mapped files in the container
container_memory_rssgaugeResident Set Size (RSS) - Memory used by the container excluding swap space
container_memory_working_set_bytesgaugeTotal memory used by the container, including both anonymous and file-backed memory
container_network_receive_bytes_totalcounterTotal bytes received over the container’s network interface
container_network_transmit_bytes_totalcounterTotal bytes transmitted over the container’s network interface
kube_pod_status_phasegaugePod status in terms of different phases (Failed/Running/Succeeded/Unknown)
kube_pod_status_readygaugePod readiness state (unknown/false/true)
qdrant_collection_number_of_collectionscounterTotal number of collections in Qdrant
qdrant_collection_pending_operationscounterTotal number of pending operations on a collection

Telemetry endpoint

Qdrant also provides a /telemetry endpoint, which provides information about the current state of the database, including the number of vectors, shards, and other useful information. You can find a full documentation of this endpoint in the API reference.

Kubernetes health endpoints

Available as of v1.5.0

Qdrant exposes three endpoints, namely /healthz, /livez and /readyz, to indicate the current status of the Qdrant server.

These currently provide the most basic status response, returning HTTP 200 if Qdrant is started and ready to be used.

Regardless of whether an API key is configured, the endpoints are always accessible.

You can read more about Kubernetes health endpoints here.

Was this page useful?

Thank you for your feedback! 🙏

We are sorry to hear that. 😔 You can edit this page on GitHub, or create a GitHub issue.