Grafana: Automatisieren mit der CLI

Starten Sie Grafana, rufen Sie dessen Zugangsdaten ab und ändern Sie die Konfiguration programmatisch mit der Stackhero CLI

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet Ihnen eine einsatzbereite Grafana Cloud Umgebung, die für eine schnelle Einrichtung und zuverlässige Performance entwickelt wurde:

  • Unbegrenzte Benutzer, Dashboards und Alarme: Skalieren Sie Ihr Monitoring nach Bedarf, ohne künstliche Begrenzungen.
  • Dedizierter SMTP-E-Mail-Server inklusive, damit Sie beliebig viele Benachrichtigungen versenden können – ganz ohne Quotenbeschränkung.
  • Plugin-Installation mit nur einem Klick erleichtert das Hinzufügen neuer Funktionen zu Grafana.
  • Integrierte SSO-Unterstützung für GitLab, GitHub, Google und jeden generischen OAuth2-Provider. Das Benutzer-Management bleibt einfach und sicher.
  • Updates mit nur einem Klick halten Ihre Grafana-Instanz stets aktuell – ohne Ausfallzeiten oder Wartungsaufwand.
  • Nutzen Sie Ihre eigene individuelle Domain mit automatischer HTTPS-Bereitstellung für sicheren und markenkonformen Zugriff (zum Beispiel https://grafana.ihr-unternehmen.com).
  • Hohe Performance und starke Sicherheit sind Standard und laufen auf Ihrer eigenen privaten, dedizierten Infrastruktur.

Starten Sie schneller und sparen Sie Einrichtungszeit: Eine sichere Grafana Cloud Hosting Instanz ist in etwa 5 Minuten bereit.

In dieser Anleitung erfahren Sie, wie Sie einen Grafana Service erstellen, dessen Zugangsdaten auslesen und die Konfiguration aktualisieren – komplett über die Kommandozeile, ganz ohne Klicks im Dashboard. Das ist ideal für Skripte, CI-Pipelines und KI-Agenten.

Für alle Aufgaben verwenden wir die Stackhero CLI. Falls Sie diese noch nicht installiert haben, können Sie dies mit folgendem Befehl nachholen:

curl -fsSL https://www.stackhero.io/install.sh | sh

Am einfachsten starten Sie, indem Sie sich über Ihren Browser anmelden. Wenn Sie den Login-Befehl ausführen, öffnet die CLI eine Webseite, auf der Sie den Zugriff bestätigen können. Es werden keine Passwörter oder 2FA-Codes direkt in der CLI eingegeben.

stackhero login

Nach dem Login werden Ihre Zugangsdaten lokal gespeichert und bei zukünftigen CLI-Befehlen automatisch verwendet.

Für vollständig automatisierte Umgebungen wie Skripte oder CI-Pipelines empfiehlt sich ein nicht-interaktives Zugriffstoken. Dieses können Sie im Dashboard unter Account > Access tokens erstellen und anschließend als Umgebungsvariable exportieren. Die CLI sowie alle von Ihnen gestarteten Skripte erkennen das Token automatisch.

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

Als Nächstes möchten Sie die verfügbaren Grafana Service Stores Ihres Accounts auflisten. Die CLI akzeptiert direkt den Namen des Stores (grafana), Sie müssen also keine IDs nachschlagen oder kopieren.

# Listet Grafana Service Stores auf (fügen Sie --organization hinzu, wenn Sie mehrere verwalten)
stackhero services-store-list --name="grafana"

Sie können den Store-Namen grafana in weiteren Befehlen verwenden oder alternativ eine spezifische svs-xxxxxx ID aus der Liste auswählen.

# Listet Instanzgrößen für Ihren Service Store auf (verwenden Sie die Spalte NAME für --instance)
stackhero instances-store-list --service-store=grafana

# Listet verfügbare Regionen (z.B. "europe")
stackhero regions-list

Hier ein Beispielskript, das einen Stack erstellt, Ihren Grafana Service hinzufügt, auf den Start wartet, die Konfiguration (inklusive generierter Zugangsdaten) abruft und anschließend eine neue Konfiguration anwendet.

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="grafana"   # Der Name des Grafana Service Stores (siehe Schritt 2)
instance="..."                # Eine Instanzgröße aus Schritt 3
region="europe"               # Ein Regionsname aus Schritt 3

# Stack für Ihren Service erstellen (verwendet Ihre Standard-Organisation; ggf. --organization hinzufügen)
stackId=$(stackhero --format=script stack-create \
  --name="My Grafana stack")
echo "Stack erstellt: ${stackId}"

# Grafana zum Stack hinzufügen (Namen werden automatisch aufgelöst)
serviceId=$(stackhero --format=script service-add \
  --stack="My Grafana stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Service hinzugefügt: grafana"

# Warten, bis der Service vollständig läuft (dies kann einige Minuten dauern)
stackhero service-wait-for --service="grafana"

# Service-Konfiguration inklusive generierter Zugangsdaten abrufen
stackhero service-configuration-get --service="grafana" --format=json

Der Befehl service-configuration-get gibt die vollständige Konfiguration Ihres Services zurück, inklusive automatisch generierter Passwörter und Verbindungsdaten. Die Ausgabe erfolgt im JSON-Format und ist somit einfach in Skripten und Automatisierungen weiterzuverarbeiten.

stackhero service-configuration-get --service=svc-xxxxxx --format=json

Sie können sich ein Beispiel für das Konfigurationsschema anzeigen lassen und anschließend eigene Einstellungen anwenden. Bei einer Aktualisierung der Konfiguration kann der Service neu starten, um die Änderungen zu übernehmen.

# Konfigurationsschema und Beispiel für Ihren Service anzeigen
stackhero service-configuration-example --service=svc-xxxxxx

# Eigene Konfiguration anwenden (Service startet ggf. neu)
stackhero service-configuration-set \
  --service=svc-xxxxxx \
  --configuration='{ "...": "..." }'

# Warten, bis die neue Konfiguration übernommen wurde
stackhero service-wait-for --service=svc-xxxxxx

Das war's. Sie haben nun den kompletten Lebenszyklus gesehen: Service starten, Zugangsdaten abrufen und neu konfigurieren – alles automatisiert und skriptgesteuert. Für weiterführende Informationen lesen Sie die vollständige CLI-Dokumentation, die auch die hier gezeigte nicht-interaktive Authentifizierung mit STACKHERO_TOKEN behandelt.