mirror of
https://github.com/qdrant/landing_page.git
synced 2026-10-03 09:58:30 +02:00
Add tutorial on how to monitor Qdrant Hybrid & Private Cloud clusters with Prometheus and Grafana
This commit is contained in:
+108
@@ -0,0 +1,108 @@
|
||||
---
|
||||
title: Monitoring Hybrid/Private Cloud with Prometheus and Grafana
|
||||
weight: 36
|
||||
---
|
||||
|
||||
# Monitoring Hybrid/Private Cloud with Prometheus and Grafana
|
||||
|
||||
This tutorial will guide you through the process of setting up Prometheus and Grafana to monitor Qdrant databases in Kubernetes cluster used for Hybrid or Private Cloud.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
This tutorial assumes that you already have a Kubernetes cluster running and a Qdrant database deployed in it, using Hybrid Cloud or Private Cloud deployment. You should also have `kubectl` and `helm` configured to interact with your cluster.
|
||||
|
||||
## Step 1: Install Prometheus and Grafana
|
||||
|
||||
If you haven't installed Prometheus and Grafana yet, you can use the [kube-prometheus-stack](https://artifacthub.io/packages/helm/prometheus-community/kube-prometheus-stack) Helm chart to deploy them in your Kubernetes cluster.
|
||||
|
||||
A minmal example of installing the stack:
|
||||
|
||||
```bash
|
||||
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
|
||||
|
||||
helm install prometheus prometheus-community/kube-prometheus-stack --namespace monitoring --create-namespace
|
||||
```
|
||||
|
||||
This command will install Prometheus, Grafana, and all necessary components into a new `monitoring` namespace.
|
||||
|
||||
## Step 2: Configure Prometheus to Scrape Qdrant Metrics
|
||||
|
||||
To monitor Qdrant, you need to configure Prometheus to scrape metrics from the Qdrant database(s). You can do this by creating a `ServiceMonitor` resource in your Kubernetes cluster.
|
||||
|
||||
```yaml
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: qdrant-cluster-exporter
|
||||
namespace: qdrant
|
||||
labels:
|
||||
release: prometheus
|
||||
spec:
|
||||
endpoints:
|
||||
- honorLabels: true
|
||||
interval: 60s
|
||||
port: metrics
|
||||
scheme: http
|
||||
scrapeTimeout: 55s
|
||||
jobLabel: app.kubernetes.io/name
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- qdrant
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/instance: qdrant-cluster-exporter
|
||||
app.kubernetes.io/name: qdrant-cluster-exporter
|
||||
---
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: qdrant-operator
|
||||
namespace: qdrant
|
||||
labels:
|
||||
release: prometheus
|
||||
spec:
|
||||
endpoints:
|
||||
- honorLabels: true
|
||||
interval: 60s
|
||||
port: metrics
|
||||
scheme: http
|
||||
scrapeTimeout: 55s
|
||||
jobLabel: app.kubernetes.io/name
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- qdrant
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: operator
|
||||
```
|
||||
|
||||
The example aboves assumes that your Qdrant database and the cloud platform exporter are deployed in the `qdrant` namespace. Adjust the `namespaceSelector` and `namespace` fields according to your deployment.
|
||||
|
||||
## Step 3: Access Grafana
|
||||
|
||||
Once Prometheus is configured to scrape metrics from Qdrant, you can access Grafana to visualize the metrics.
|
||||
|
||||
Get the Grafana 'admin' user password by running:
|
||||
|
||||
```bash
|
||||
kubectl --namespace monitoring get secrets prometheus-grafana -o jsonpath="{.data.admin-password}" | base64 -d ; echo
|
||||
```
|
||||
|
||||
Access the Grafana dashboard by port-forwarding:
|
||||
|
||||
```bash
|
||||
export POD_NAME=$(kubectl --namespace monitoring get pod -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=prometheus" -oname)
|
||||
kubectl --namespace monitoring port-forward $POD_NAME 3000
|
||||
```
|
||||
|
||||
Now you can open your web browser and go to `http://localhost:3000`. Log in with the username `admin` and the password you retrieved earlier.
|
||||
|
||||
## Step 4: Import Qdrant Dashboard
|
||||
|
||||
To visualize Qdrant metrics, you can import a pre-built dashboard. You can find a sample Qdrant dashboard in the [Qdrant GitHub repository](https://github.com/qdrant/qdrant-cloud-grafana-dashboard).
|
||||
|
||||
To import the dashboard:
|
||||
|
||||
1. In Grafana, go to "Dashboards" and click on "New" -> "Import".
|
||||
2. Copy and paste the dashboard JSON from the Qdrant GitHub repository.
|
||||
3. Click "Load" and then "Import".
|
||||
Reference in New Issue
Block a user