Skip to content

Commit

Permalink
feat: Qdrant integration (#2422)
Browse files Browse the repository at this point in the history
* feat: Qdrant integration

* Update qdrant/README.md

Co-authored-by: Esther Kim <esthercodes2019@gmail.com>

* chore: removed empty manifest.json props

* chore: remove redundant version var

* Update qdrant/manifest.json

Co-authored-by: emarsha94 <52013262+emarsha94@users.noreply.github.com>

* chore: review changes

* chore: removed app_info_count

* fix: counter total metrics

* refactor: updated dashboard

* fix: dashboard qdrant.cluster.commit.count sum

* Added more images

* docs: Updated README.md

* chore: formatting

* fix: aspect ratios

* chore: tweak dashboard

* chore: further tweak dash, images

* refactor: Updated dashboard to use query value for cluster metrics

* Updated images

* chore: validate with ddev 9.1.0

* Update qdrant/README.md

Co-authored-by: emarsha94 <52013262+emarsha94@users.noreply.github.com>

* test: separate e2e test

* chore: fmt

* Update qdrant/CHANGELOG.md

* docs: Config instructions README.md

* chore: Adjust for qdrant/qdrant#4733

* fix: manifest.json metric

---------

Co-authored-by: Esther Kim <esthercodes2019@gmail.com>
Co-authored-by: emarsha94 <52013262+emarsha94@users.noreply.github.com>
  • Loading branch information
3 people committed Aug 15, 2024
1 parent f07f857 commit 7bb57f2
Show file tree
Hide file tree
Showing 38 changed files with 2,907 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,10 @@ coverage:
target: 75
flags:
- purefb
Qdrant:
target: 75
flags:
- qdrant
Radarr:
target: 75
flags:
Expand Down Expand Up @@ -520,6 +524,11 @@ flags:
paths:
- purefb/datadog_checks/purefb
- purefb/tests
qdrant:
carryforward: true
paths:
- qdrant/datadog_checks/qdrant
- qdrant/tests
radarr:
carryforward: true
paths:
Expand Down
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@
/puma/ @plasticine
/purefa/ @chrroberts-pure pure-observability@purestorage.com @DataDog/ecosystems-review
/purefb/ @chrroberts-pure pure-observability@purestorage.com @DataDog/ecosystems-review
/qdrant/ @Anush008 info@qdrant.com
/radarr/ @HadrienPatte
/rbltracker/ @DataDog/agent-integrations
/reboot_required/ @montdidier support@krugerheavyindustries.com
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/test-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -885,6 +885,25 @@ jobs:
test-py3: ${{ inputs.test-py3 }}
setup-env-vars: "${{ inputs.setup-env-vars }}"
secrets: inherit
ja7891bb:
uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
with:
job-name: Qdrant
target: qdrant
platform: linux
runner: '["ubuntu-22.04"]'
repo: "${{ inputs.repo }}"
python-version: "${{ inputs.python-version }}"
standard: ${{ inputs.standard }}
latest: ${{ inputs.latest }}
agent-image: "${{ inputs.agent-image }}"
agent-image-py2: "${{ inputs.agent-image-py2 }}"
agent-image-windows: "${{ inputs.agent-image-windows }}"
agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
test-py2: ${{ inputs.test-py2 }}
test-py3: ${{ inputs.test-py3 }}
setup-env-vars: "${{ inputs.setup-env-vars }}"
secrets: inherit
jd4cdbe0:
uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
with:
Expand Down
8 changes: 8 additions & 0 deletions qdrant/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# CHANGELOG - Qdrant

## 1.0.0 / 2024-08-10

***Added***:

* Initial Release

83 changes: 83 additions & 0 deletions qdrant/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Qdrant

## Overview

[Qdrant][1] 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][2] 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][3] 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.0.0
```

2. Configure your integration similar to core [integrations][4].

### Configuration

1. Edit the `qdrant.d/conf.yaml` file in the `conf.d/` folder at the root of your [Agent's configuration directory][7] to start collecting your Qdrant [metrics](#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>
```
2. [Restart the Agent][9]
## Validation
Run the [Agent's status subcommand][10] and look for `qdrant` under the Checks section.

## Data Collected

### Metrics

See [metadata.csv][11] for a list of metrics provided by this check.

### Events

The Qdrant check does not include any events.

### Service Checks

See [service_checks.json][13] for a list of service checks provided by this integration.

## Troubleshooting

Need help? Contact [Qdrant support][12].

[1]: https://qdrant.tech/
[2]: https://app.datadoghq.com/account/settings/agent/latest
[3]: https://docs.datadoghq.com/agent/guide/use-community-integrations/
[4]: https://docs.datadoghq.com/getting_started/integrations/
[7]: https://docs.datadoghq.com/agent/guide/agent-configuration-files/#agent-configuration-directory
[9]: https://docs.datadoghq.com/agent/guide/agent-commands/#start-stop-and-restart-the-agent
[10]: https://docs.datadoghq.com/agent/guide/agent-commands/#service-status
[11]: https://github.com/DataDog/integrations-extras/blob/master/qdrant/metadata.csv
[12]: http://qdrant.to/discord
[13]: https://github.com/DataDog/integrations-extras/blob/master/qdrant/assets/service_checks.json
18 changes: 18 additions & 0 deletions qdrant/assets/configuration/spec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Qdrant
files:
- name: qdrant.yaml
options:
- template: init_config
options:
- template: init_config/openmetrics
- template: instances
options:
- template: instances/openmetrics
overrides:
openmetrics_endpoint.required: true
openmetrics_endpoint.hidden: false
openmetrics_endpoint.display_priority: 2
openmetrics_endpoint.value.example: http://localhost:6333/metrics
openmetrics_endpoint.description: |
Endpoint exposing the Qdrant's Prometheus metrics. For more information refer to:
https://qdrant.tech/documentation/guides/monitoring/
Loading

0 comments on commit 7bb57f2

Please sign in to comment.