Überwachen Sie Ihre Instanzen
So erhalten Sie Prometheus-Echtzeitmetriken von Ihren Stackhero-Instanzen
Einführung
Stackhero hilft Ihnen, Echtzeitmetriken von Ihren Instanzen im Prometheus-Format abzurufen. Diese nahtlose Integration erleichtert die Visualisierung von Daten mit Grafana-Dashboards und das Auslösen von Warnungen über Prometheus (per E-Mail, SMS, Slack, Mattermost und mehr) für alle Ihre Stackhero-Dienste in nur wenigen Minuten.
Grafana-Dashboard zeigt eine Instanz in Echtzeit
Wie Prometheus-Metriken auf Stackhero funktionieren
Stackhero bietet einen HTTP-Endpunkt für die "Service Discovery", der Echtzeitmetriken von Ihren Instanzen im Prometheus-Format zurückgibt.
Hier ist der Überblick:
- Ihr Prometheus-Server verbindet sich alle 15 Sekunden mit der Stackhero-API, um Echtzeitmetriken von Ihren Instanzen abzurufen.
- Ihr Prometheus-Server löst Warnungen über den Alert Manager aus, wenn definierte Bedingungen erfüllt sind.
- Ihr Grafana-Server verbindet sich mit Ihrem Prometheus-Server, um Dashboards anzuzeigen, die Ihre Stackhero-Instanzen zeigen.
Echtzeitmetriken von Ihren Instanzen abrufen
1. Erstellen Sie ein Token
Um zu beginnen, müssen Sie ein Token generieren, das Ihr Prometheus-Server verwenden kann, um sich mit der Stackhero-API zu verbinden.
- Melden Sie sich bei Ihrem Stackhero-Dashboard an.
- Navigieren Sie im linken Menü zu
Prometheus. - Klicken Sie auf
Token erstellen. - Fügen Sie eine Beschreibung hinzu und beschränken Sie bei Bedarf den IP-Zugriff (lassen Sie
0.0.0.0/0, um alle IPs zuzulassen). - Kopieren Sie die generierte Prometheus-Konfiguration.
Erstellung eines Prometheus-Tokens im Stackhero-Dashboard
2. Konfigurieren Sie Ihr Prometheus
Haben Sie noch keinen Prometheus-Server? Mit Stackhero können Sie in nur 2 Minuten ein verwaltetes Prometheus starten!
Öffnen Sie Ihre prometheus.yml-Konfigurationsdatei und fügen Sie den "stackhero"-Job (zuvor generiert) am Ende der Datei hinzu.
Hier ist ein Beispiel für eine Konfiguration:
- job_name: "stackhero"
scheme: "https"
basic_auth:
username: "<ORGANIZATION_ID>"
password: "<TOKEN>"
http_sd_configs:
- url: "https://api.stackhero.io/v1/prometheus/targets"
refresh_interval: "15s" # Setzen Sie es nicht auf weniger als 15 Sekunden!
basic_auth:
username: "<ORGANIZATION_ID>"
password: "<TOKEN>"
3. Überprüfen Sie, ob Prometheus die Metriken abruft
Navigieren Sie zu Ihrem Prometheus-Dashboard und gehen Sie zu Status > Service Discovery. Sie sollten einen "stackhero"-Service-Discovery-Eintrag registriert sehen.
Prometheus-Dashboard zeigt Stackhero-Service-Discovery
Gehen Sie anschließend zu Status > Targets. Sie sollten einen Endpunkt für jede Stackhero-Instanz sehen.
Prometheus-Dashboard zeigt Stackhero-Ziele
Herzlichen Glückwunsch! Ihr Prometheus-Server ruft jetzt automatisch Echtzeitmetriken für alle Ihre Dienste ab.
4. Fügen Sie ein Grafana-Dashboard hinzu (optional)
Haben Sie noch keinen Grafana-Server? Mit Stackhero können Sie in nur 2 Minuten ein verwaltetes Grafana starten!
Sie können ein vorkonfiguriertes Dashboard in Grafana nutzen, um die Metriken Ihrer Instanzen anzuzeigen.
- Gehen Sie in der Weboberfläche von Grafana zu
Create>Import. - Setzen Sie im Abschnitt
Import via grafana.comdie ID auf1860und klicken Sie auf die SchaltflächeLoad. - Wählen Sie auf der nächsten Seite Ihre Prometheus-Datenquelle aus und klicken Sie auf
Import.
Grafana generiert ein Dashboard, das die von Prometheus abgerufenen Daten sofort anzeigt!
Grafana-Dashboard zeigt eine Instanz in Echtzeit
Oben links auf dem Bildschirm können Sie die Instanz auswählen, die Sie anzeigen möchten, indem Sie auf die host-Liste klicken.
Auswahl einer Instanz in der "host"-Liste
Herzlichen Glückwunsch, Sie können jetzt alle Ihre Instanzen in Echtzeit überwachen!