You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a Qdrant integration. The metrics data stream scrapes the Prometheus endpoint of the Qdrant REST API with the prometheus/metrics input and maps the metrics defined in Qdrant's src/common/metrics to qdrant.* fields: REST responses by method, endpoint and status, the REST response time histogram and the longest response time, number of collections and vectors, points and vectors per collection, running optimizations, update queue length and deferred points, active and dead replicas, shard transfers, snapshots, resident and allocated memory, distributed mode and recovery mode. Series labels are kept under qdrant.labels.* and a fingerprint of them is the TSDB dimension.
Includes an overview dashboard written as a YAML dashboard. ES|QL panels use TS (Kibana 9.2+); the response time percentiles are a Lens panel because ES|QL does not read histogram fields.
gRPC metrics and the experimental collection_hardware_metric_* counters are left out.
How to test this PR locally
elastic-package check
elastic-package test pipeline
elastic-package test system
Pipeline test input is real metricbeat 9.5.6 output scraped from the /metrics output of Qdrant 1.20 (the same capture the system test serves through the stream mock). Every ES|QL query in the dashboard was run against Elasticsearch 9.5.6 with TSDB data indexed through the package's ingest pipeline. kb-dashboard-lint check reports no issues and kb-dashboard compile output is committed.
Not tested yet: elastic-package test system (I had no Docker available) and rendering the Lens panel in Kibana. sample_event.json comes from the pipeline test.
AI disclosure: written with the help of Claude Code, reviewed and tested by me.
Buildkite doesn't run automatically for external contributions. To start one, a
user who is a member of the elastic GitHub organization or who has write access
to this repository needs to add a comment:
/test : will kick off a build in Buildkite.
Commenting /test as an external contributor without write access will not start a
build. In that case, please ask a maintainer to review the pull request and start
the build.
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
The pipeline drops failed-scrape diagnostics, and the dashboard-wide collection filter removes unlabeled REST, memory, and replica data from their panels.
The wildcard supplies a dynamic template, not concrete mappings for the labels referenced by the ES|QL panels. On a fresh node with no collections, qdrant.labels.id is never indexed, so the collection and snapshot queries fail with an unknown-column error rather than showing no data. Explicitly map the dashboard-referenced label fields while retaining the wildcard for other labels.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
documentationImprovements or additions to documentation. Applied to PRs that modify *.md files.enhancementNew feature or requestNew IntegrationIssue or pull request for creating a new integration package.
3 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed commit message
Add a Qdrant integration. The metrics data stream scrapes the Prometheus endpoint of the Qdrant REST API with the prometheus/metrics input and maps the metrics defined in Qdrant's
src/common/metricsto qdrant.* fields: REST responses by method, endpoint and status, the REST response time histogram and the longest response time, number of collections and vectors, points and vectors per collection, running optimizations, update queue length and deferred points, active and dead replicas, shard transfers, snapshots, resident and allocated memory, distributed mode and recovery mode. Series labels are kept under qdrant.labels.* and a fingerprint of them is the TSDB dimension.Includes an overview dashboard written as a YAML dashboard. ES|QL panels use TS (Kibana 9.2+); the response time percentiles are a Lens panel because ES|QL does not read histogram fields.
gRPC metrics and the experimental
collection_hardware_metric_*counters are left out.How to test this PR locally
elastic-package check
elastic-package test pipeline
elastic-package test system
Pipeline test input is real metricbeat 9.5.6 output scraped from the
/metricsoutput of Qdrant 1.20 (the same capture the system test serves through the stream mock). Every ES|QL query in the dashboard was run against Elasticsearch 9.5.6 with TSDB data indexed through the package's ingest pipeline.kb-dashboard-lint checkreports no issues andkb-dashboard compileoutput is committed.Not tested yet:
elastic-package test system(I had no Docker available) and rendering the Lens panel in Kibana.sample_event.jsoncomes from the pipeline test.AI disclosure: written with the help of Claude Code, reviewed and tested by me.