---
title: Qdrant
description: A high-performance vector search engine/database.
breadcrumbs: Docs > Integrations > Qdrant
---

# Qdrant
Supported OS Integration version1.2.0        A Qdrant Monitoring Dashboard for DatadogREST metrics from the Qdrant Datadog dashboardcluster metrics from the Qdrant Datadog dashboardgRPC metrics from the Qdrant Datadog dashboard
## Overview{% #overview %}

[Qdrant](https://qdrant.tech/) 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{% #setup %}

The Qdrant check is not included in the [Datadog Agent](https://app.datadoghq.com/account/settings/agent/latest) package, so you need to install it.

### Installation{% #installation %}

For Agent v7.21+ / v6.21+, follow the instructions below to install the Qdrant check on your host. See [Use Community Integrations](https://docs.datadoghq.com/agent/guide/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:

   ```shell
   datadog-agent integration install -t qdrant==1.2.0
   ```

1. Configure your integration similar to core [integrations](https://docs.datadoghq.com/getting_started/integrations/).

### Configuration{% #configuration %}

1. Edit the `conf.d/qdrant.d/conf.yaml` file in your [Agent's configuration directory](https://docs.datadoghq.com/agent/guide/agent-configuration-files/#agent-configuration-directory) to start collecting your Qdrant metrics

Most importantly, set the `openmetrics_endpoint` value to the [`/metrics` endpoint](https://qdrant.tech/documentation/guides/monitoring/#monitoring) of your Qdrant instance.

```yaml
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`](https://github.com/DataDog/integrations-core/blob/26f9ae7660f042c43f5d771f0c937ff805cf442c/openmetrics/datadog_checks/openmetrics/data/conf.yaml.example#L553C1-L558C35).

```yaml
# @param extra_headers - mapping - optional
# Additional headers to send with every request.
extra_headers:
   api-key: <QDRANT_API_KEY>
```
[Restart the Agent](https://docs.datadoghq.com/agent/guide/agent-commands/#start-stop-and-restart-the-agent)
## Validation{% #validation %}

Run the [Agent's status subcommand](https://docs.datadoghq.com/agent/guide/agent-commands/#service-status) and look for `qdrant` under the Checks section.

## Data Collected{% #data-collected %}

### Metrics{% #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)                        | Total number of pending operations for cluster peer                                                     |
| **qdrant.cluster.voter**(gauge)                                           | Whether the cluster peer is a voter or learner                                                          |
| **qdrant.memory.active.bytes**(gauge)                                     | Total number of bytes in active pages allocated by the application                                      |
| **qdrant.memory.allocated.bytes**(gauge)                                  | Total number of bytes allocated by the application                                                      |
| **qdrant.memory.metadata.bytes**(gauge)                                   | Total number of bytes dedicated to metadata                                                             |
| **qdrant.memory.resident.bytes**(gauge)                                   | Maximum number of bytes in physically resident data pages mapped                                        |
| **qdrant.memory.retained.bytes**(gauge)                                   | Total number of bytes in virtual memory mappings                                                        |
| **qdrant.collection.hardware.metric.cpu**(gauge)                          | [Deprecated] CPU measurements of a collection. Use qdrant.collection.hardware.metric.cpu.count instead. |
| **qdrant.collection.hardware.metric.cpu.count**(count)                    | CPU measurements of a collection                                                                        |
| **qdrant.collection.vectors**(gauge)                                      | Number of vectors grouped by vector name                                                                |
| **qdrant.collection.active.replicas.min**(gauge)                          | Minimum number of active replicas across all shards                                                     |
| **qdrant.collection.active.replicas.max**(gauge)                          | Maximum number of active replicas across all shards                                                     |
| **qdrant.collection.running.optimizations**(gauge)                        | Number of currently running optimization tasks per collection                                           |
| **qdrant.collection.points**(gauge)                                       | Approximate number of points per collection                                                             |
| **qdrant.collection.dead.replicas**(gauge)                                | Total number of shard replicas in non-active state                                                      |
| **qdrant.snapshot.creation.running**(gauge)                               | Number of snapshot creations that are currently running                                                 |
| **qdrant.snapshot.recovery.running**(gauge)                               | Number of snapshot recovery operations currently running                                                |
| **qdrant.snapshot.created.count**(count)                                  | Total number of snapshots created                                                                       |
| **qdrant.rest.responses.duration.seconds.count**(count)                   | Total count of responses for histogram buckets                                                          |
| **qdrant.rest.responses.duration.seconds.sum**(count)                     | Total sum of response durations in seconds*Shown as second*                                             |
| **qdrant.rest.responses.duration.seconds.bucket**(count)                  | Response duration histogram buckets                                                                     |
| **qdrant.collection.hardware.metric.payload.io.read.count**(count)        | Total IO payload read metrics of a collection                                                           |
| **qdrant.collection.hardware.metric.payload.index.io.read.count**(count)  | Total IO payload index read metrics of a collection                                                     |
| **qdrant.collection.hardware.metric.payload.index.io.write.count**(count) | Total IO payload index write metrics of a collection                                                    |
| **qdrant.collection.hardware.metric.payload.io.write.count**(count)       | Total IO payload write metrics of a collection                                                          |
| **qdrant.collection.hardware.metric.vector.io.read.count**(count)         | Total IO vector read metrics of a collection                                                            |
| **qdrant.collection.hardware.metric.vector.io.write.count**(count)        | Total IO vector write metrics of a collection                                                           |
| **qdrant.process.threads**(gauge)                                         | Count of active threads                                                                                 |
| **qdrant.process.open.mmaps**(gauge)                                      | Count of open memory-mapped files                                                                       |
| **qdrant.system.max.mmaps**(gauge)                                        | System-wide limit of open memory-mapped files                                                           |
| **qdrant.process.open.fds**(gauge)                                        | Count of currently open file descriptors                                                                |
| **qdrant.process.max.fds**(gauge)                                         | Limit for open file descriptors                                                                         |
| **qdrant.process.minor.page.faults.count**(count)                         | Count of minor page faults which didn't cause a disk access                                             |
| **qdrant.process.major.page.faults.count**(count)                         | Count of disk accesses caused by a memory-mapped page fault                                             |

### Events{% #events %}

The Qdrant check does not include any events.

### Service Checks{% #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{% #troubleshooting %}

Need help? Contact [Qdrant support](http://qdrant.to/discord).
