Metriken an Observability übertragen
Zuletzt aktualisiert am
Diese Anleitung erklärt, wie Sie das Scrapen von Anwendungsmetriken einrichten, den Export über Grafana Alloy konfigurieren und eine sichere Übertragung an Ihre STACKIT Observability-Instanz mittels Prometheus Remote Write-Protokoll gewährleisten.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“Bevor Sie Metriken an Ihre STACKIT Observability-Instanz übertragen können, stellen Sie sicher, dass Sie Folgendes bereitstehen haben:
- Technische Zugangsdaten: Sie benötigen einen technischen
<USERNAME>und ein<PASSWORD>für Ihre spezifische Instanz. Wenn Sie diese noch nicht erstellt haben, folgen Sie den Anweisungen in unserer Authentifizierungsübersicht. - Metrik-Quelle: Sie müssen eine Anwendung oder einen Dienst ausführen, der Metriken bereitstellt (z. B. über einen
/metrics-Endpunkt im Standard-Prometheus-Format).
Der Pfad der Metrik-Daten
Abschnitt betitelt „Der Pfad der Metrik-Daten“Metriken folgen einem bestimmten Pfad von Ihrer Anwendung zum STACKIT-Backend. Wie im folgenden Diagramm dargestellt, konzentriert sich diese Anleitung auf die Verwendung von Grafana Alloy als empfohlenen Agenten zum Sammeln und Weiterleiten Ihrer Daten. Die STACKIT-Architektur ist jedoch hochflexibel; Sie können alternativ auch andere OpenTelemetry-Tools verwenden, wie den nativen Prometheus-Agenten oder Telegraf, um Metriken an Ihr STACKIT Observability-Backend zu übertragen.
- Anwendung: Ihre Anwendung stellt einen lokalen Endpunkt bereit (in der Regel
/metrics), der den aktuellen Status ihrer internen Counter und Gauges enthält. - Grafana Alloy (Agent): Der lokale Agent „scrapt“ (ruft ab) diesen Endpunkt regelmäßig, um die neuesten Metrikdaten zu erfassen.
- STACKIT Observability Endpunkt (Prometheus): Grafana Alloy überträgt die gesammelten Metriken sicher in Bündeln (Batches) an den spezifischen Remote Write-Ingestion-Endpunkt in Ihrer STACKIT-Instanz, wo sie gespeichert und für Abfragen verfügbar gemacht werden.
Beispiel für eine Grafana Alloy-Konfiguration
Abschnitt betitelt „Beispiel für eine Grafana Alloy-Konfiguration“Grafana Alloy ist die empfohlene Methode zum Sammeln von Metriken und zur Verwaltung der sicheren Authentifizierung. Dieses Beispiel zeigt eine einfache Konfiguration (config.alloy), die eine lokale Anwendung abfragt und die Daten sicher an den STACKIT-Endpunkt weiterleitet.
config.alloy
Abschnitt betitelt „config.alloy“// 1. Scrapen von Metriken von einem lokalen Zielprometheus.scrape "local_app" { targets = [ {"__address__" = "localhost:8080"}, // Ersetzen Sie dies durch den Metrik-Port Ihrer Anwendung ]
// Leitet die gescrapten Metriken an den darunter liegenden remote_write-Block weiter forward_to = [prometheus.remote_write.stackit_instance.receiver] scrape_interval = "60s"}
// 2. Metriken an STACKIT Observability übertragenprometheus.remote_write "stackit_instance" { endpoint { # WICHTIG: Kopieren Sie die vollständige "Metrics Remote Write"-URL aus dem STACKIT Portal url = "<METRICS_ENDPOINT_URL>"
# Erforderlich für Basic Authentication basic_auth { username = "<USERNAME>" password = "<PASSWORD>" } }
// Best Practice: Labels hinzufügen, um Metriken verschiedener Server zu unterscheiden external_labels = { env = "production", cluster = "eu01" }}docker-compose.yaml
Abschnitt betitelt „docker-compose.yaml“Verwenden Sie diese Docker Compose-Datei, um Grafana Alloy in einem Docker-Container auszuführen. Sie mountet Ihre lokale config.alloy-Datei in den Container und startet den Agenten. Die Alloy-Benutzeroberfläche und -API sind über Port 12345 erreichbar.
services: alloy: image: grafana/alloy:latest container_name: alloy command: - run - --server.http.listen-addr=0.0.0.0:12345 - --storage.path=/var/lib/alloy/data - /etc/alloy/config.alloy ports: - "12345:12345" volumes: - ./config.alloy:/etc/alloy/config.alloy:ro - /var/run/docker.sock:/var/run/docker.sock:ro - alloy-data:/var/lib/alloy/data restart: unless-stopped
volumes: alloy-data:Metriken prüfen
Abschnitt betitelt „Metriken prüfen“Sobald alles läuft, öffnen Sie Grafana in Ihrer STACKIT Observability-Instanz und gehen Sie zu Explore. Wählen Sie Ihre Metrics-Datenquelle aus und führen Sie eine Abfrage aus (zum Beispiel ‘up’), um zu überprüfen, ob Ihre Daten erfolgreich ankommen.