Qdrant

Supported OS Linux Windows Mac OS

Integration version1.0.0

Overview

Qdrant is a high-performance vector search engine and vector database. With this integration, you can get real-time metrics to monitor your Qdrant deployment within Datadog including:

  • The performance of REST and gRPC interfaces with metrics such as total requests, total failures, and time to serve to identify potential bottlenecks and mitigate them.
  • Information about the readiness of the cluster, and deployment (total peers, pending operations, etc.) to gain insights into your Qdrant deployment.

For a full list of supported metrics, see the Metrics section below.

Setup

The Qdrant check is not included in the Datadog Agent package, so you need to install it.

Installation

For Agent v7.21+ / v6.21+, follow the instructions below to install the Qdrant check on your host. See Use Community Integrations to install with the Docker Agent or earlier versions of the Agent.

  1. Run the following command to install the Agent integration:

    datadog-agent integration install -t qdrant==1.0.0
    
  2. Configure your integration similar to core integrations.

Configuration

  1. Edit the qdrant.d/conf.yaml file in the conf.d/ folder at the root of your Agent’s configuration directory to start collecting your Qdrant metrics.

Most importantly, set the openmetrics_endpoint value to the /metrics endpoint of your Qdrant instance.

instances:
    ## @param openmetrics_endpoint - string - optional
    ## The URL exposing metrics in the OpenMetrics format.
  - openmetrics_endpoint: http://localhost:6333/metrics

If the Qdrant instance requires authentication, you can specify the token by configuring extra_headers.

# @param extra_headers - mapping - optional
# Additional headers to send with every request.
extra_headers:
   api-key: <QDRANT_API_KEY>
  1. Restart the Agent

Validation

Run the Agent’s status subcommand and look for qdrant under the Checks section.

Data Collected

Metrics

qdrant.app.status.recovery.mode
(gauge)
If Qdrant is currently started in recovery mode
qdrant.collections.total
(gauge)
Number of collections
qdrant.collections.vector.total
(gauge)
Total number of vectors in all collections
qdrant.collections.full.total
(gauge)
Number of full collections
qdrant.collections.aggregated.total
(gauge)
Number of aggregated collections
qdrant.rest.responses.count
(count)
Total number of responses through REST API
qdrant.rest.responses.fail.count
(count)
Total number of failed responses through REST API
qdrant.rest.responses.avg.duration.seconds
(gauge)
Average response duration in REST API
Shown as second
qdrant.rest.responses.min.duration.seconds
(gauge)
Minimum response duration in REST API
Shown as second
qdrant.rest.responses.max.duration.seconds
(gauge)
Maximum response duration in REST API
Shown as second
qdrant.grpc.responses.count
(count)
Total number of responses through gRPC API
qdrant.grpc.responses.fail.count
(count)
Total number of failed responses through gRPC API
qdrant.grpc.responses.avg.duration.seconds
(gauge)
Average response duration in gRPC API
Shown as second
qdrant.grpc.responses.min.duration.seconds
(gauge)
Minimum response duration in gRPC API
Shown as second
qdrant.grpc.responses.max.duration.seconds
(gauge)
Maximum response duration in gRPC API
Shown as second
qdrant.cluster.enabled
(gauge)
Whether the cluster support is enabled
qdrant.cluster.peers.total
(gauge)
Total number of cluster peers
qdrant.cluster.term.count
(count)
Current cluster term
qdrant.cluster.commit.count
(count)
Index of last committed operation cluster peer is aware of
qdrant.cluster.pending.operations.total
(gauge)
e>Total number of pending operations for cluster peer
qdrant.cluster.voter
(gauge)
Whether the cluster peer is a voter or learner

Events

The Qdrant check does not include any events.

Service Checks

qdrant.openmetrics.health
Returns CRITICAL if the Agent is unable to connect to the Qdrant OpenMetrics endpoint, otherwise returns OK.
Statuses: ok, critical

qdrant.readyz.status
Returns OK if /readyz endpoint returns a 200 response, otherwise returns CRITICAL.
Statuses: ok, critical

qdrant.livez.status
Returns OK if /livez endpoint returns a 200 response, otherwise returns CRITICAL.
Statuses: ok, critical

Troubleshooting

Need help? Contact Qdrant support.