Skip to content

Latest commit

 

History

History
96 lines (66 loc) · 2.49 KB

File metadata and controls

96 lines (66 loc) · 2.49 KB

Qdrant Cluster monitoring

This repository demonstrates a basic setup of Prometheus + Grafana for monitoring Qdrant clusters. It is primary targeting monitoring for cloud-hosted Qdrant clusters, but some parts can be used for monitoring open-source deployments as well.

Monitoring includes:

  • Cluster status
  • Collection statistics and ongoing operations
  • API performance and latency distribution
  • System resource usage (CPU, memory, disk, IOPS)
  • Network traffic statistics

Screenshot

If you already have running prometheus and grafana instances, you can import the dashboards from grafana/dashboards folder.

Quick Start

1. Configure Prometheus scrape targets

Copy prometheus/prometheus.example.yml to prometheus/prometheus.yml and edit it to your needs.

Replace the placeholders in prometheus/prometheus.yml:

- job_name: "qdrant-cloud"
  bearer_token: "<QDRANT_API_KEY>"
  static_configs:
    - targets:
        - "<QDRANT_CLOUD_CLUSTER_URL>"

For example, if your cluster URL is my-cluster.eu-west-1.aws.cloud.qdrant.io:6333:

- job_name: "qdrant-cloud"
  bearer_token: "your-actual-api-key"
  static_configs:
    - targets:
        - "my-cluster.eu-west-1.aws.cloud.qdrant.io:6333"

Note: You need to specify configuration for /metrics and /sys_metrics endpoints for both jobs to have full monitoring coverage.

Note: It is preferable to use dedicated read-only API key for monitoring purposes.

2. Start the stack

docker compose up

3. Open Grafana

Navigate to http://localhost:3000 and log in with:

  • User: admin
  • Password: admin

Both dashboards are auto-provisioned in the Qdrant folder.

WARN: To change the password, you need to edit the docker-compose.yml file and change the GF_SECURITY_ADMIN_PASSWORD environment variable.

Stopping

docker compose down

To also remove stored data:

docker compose down -v

File Structure

.
├── docker-compose.yml
├── prometheus/
│   └── prometheus.yml              # Prometheus scrape config
└── grafana/
    ├── dashboards/
    │   ├── qdrant_cloud_dashboard.json
    │   └── qdrant_cloud_operator_dashboard.json
    └── provisioning/
        ├── datasources/
        │   └── datasource.yml      # Auto-provision Prometheus datasource
        └── dashboards/
            └── dashboards.yml      # Auto-provision dashboard JSONs