Grafana Dashboards

DockerBeginner
Jetzt üben

Einführung

In diesem Lab lernen Sie die Grundlagen der Erstellung eines Monitoring-Dashboards mit Grafana. Grafana ist eine beliebte Open-Source-Plattform für Monitoring und Observability, die es Ihnen ermöglicht, Ihre Metriken abzufragen, zu visualisieren, zu alarmieren und zu erkunden, unabhängig davon, wo sie gespeichert sind.

Wir werden mit einer vorkonfigurierten Umgebung arbeiten, die Folgendes umfasst:

  • Grafana: Das Visualisierungstool, mit dem Sie Ihr Dashboard erstellen werden.
  • Prometheus: Eine Zeitreihendatenbank, die als Datenquelle für Grafana dient.
  • Node Exporter: Ein Agent, der Hardware- und Betriebssystemmetriken von der Host-Maschine sammelt und sie für Prometheus zum Abrufen bereitstellt.

Ihr Ziel ist es, von Grund auf ein einfaches Dashboard zu erstellen, das die Live-CPU-Auslastung der Laborumgebung anzeigt.

Erkunden Sie die vorkonfigurierte Umgebung

In diesem Schritt machen Sie sich mit der Laborumgebung vertraut. Das Setup-Skript hat bereits drei Docker-Container gestartet, die einen grundlegenden Monitoring-Stack bilden.

Überprüfen wir zunächst, ob alle Container laufen. Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:

docker ps

Sie sollten eine Ausgabe ähnlich dieser sehen, die die Container grafana, prometheus und node-exporter auflistet. Die genauen Container-IDs werden unterschiedlich sein.

CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS          PORTS                                       NAMES
c1a2b3c4d5e6   grafana/grafana                 "/run.sh"                15 seconds ago   Up 14 seconds   0.0.0.0:3000->8080/tcp                      grafana
f6e5d4c3b2a1   prom/prometheus                 "/bin/prometheus --c…"   20 seconds ago   Up 19 seconds   0.0.0.0:9090->9090/tcp                      prometheus
a9b8c7d6e5f4   prom/node-exporter              "/bin/node_exporter …"   25 seconds ago   Up 24 seconds   0.0.0.0:9100->9100/tcp                      node-exporter

Hier ist eine kurze Übersicht über jede Komponente:

  • node-exporter: Sammelt Systemmetriken von der virtuellen Maschine.
  • prometheus: Holt und speichert die Metriken von node-exporter.
  • grafana: Fragt Prometheus ab und visualisiert die Daten.

Lassen Sie uns nun auf die Grafana-Benutzeroberfläche zugreifen.

Wechseln Sie aufgrund der Reverse-Proxy-Einstellungen der LabEx VM zur Desktop-Oberfläche, klicken Sie auf den Firefox-Browser in der oberen linken Ecke und geben Sie http://localhost:8080 in die Adressleiste ein. Sie sollten die Grafana-Anmeldeseite sehen.

Melden Sie sich mit den Standardanmeldeinformationen an:

  • Benutzername: admin
  • Passwort: admin

Sie werden möglicherweise aufgefordert, das Passwort zu ändern. Für dieses Lab können Sie auf Skip klicken.

Grafana login page with admin credentials

Nach der Anmeldung überprüfen wir die Datenquellenverbindung.

  1. Klicken Sie im linken Menü auf das Symbol Connections (sieht aus wie ein Stecker oder Verbinder).
  2. Klicken Sie auf der Seite "Connections" auf Data sources.
  3. Sie sehen eine vorkonfigurierte Datenquelle namens Prometheus. Diese Verbindung wurde automatisch vom Initialisierungsskript eingerichtet, sodass Grafana den Prometheus-Container abfragen kann.
Grafana UI showing Prometheus data source selection

Sie sind nun bereit, Ihr erstes Dashboard zu erstellen.

Neues Dashboard in der Grafana UI erstellen

In diesem Schritt erstellen Sie ein neues, leeres Dashboard in der Grafana-Oberfläche. Ein Dashboard ist eine Sammlung von einem oder mehreren Panels, die in einem Raster angeordnet sind.

  1. Suchen Sie in der Grafana-Oberfläche die linke Seitenleiste.
  2. Wählen Sie im erscheinenden Menü Dashboard aus.
Create New Dashboard

Diese Aktion erstellt ein neues, leeres Dashboard. Sie werden sofort aufgefordert, Ihr erstes Panel hinzuzufügen. Ein Panel ist der grundlegende Visualisierungsbaustein in Grafana.

Klicken Sie auf die Schaltfläche Add visualization in der Mitte des Bildschirms, um zum Panel-Editor zu gelangen.

Add New Panel

Sie befinden sich nun im Panel-Editor, wo Sie in den nächsten Schritten Ihre Datenabfrage definieren und deren Visualisierung anpassen werden.

Panel mit PromQL-Abfrage für CPU-Auslastung hinzufügen

In diesem Schritt fügen Sie Ihrer Dashboard ein Panel hinzu und verwenden eine PromQL (Prometheus Query Language)-Abfrage, um CPU-Auslastungsdaten abzurufen.

Sie sollten sich bereits aus dem vorherigen Schritt im Panel-Editor befinden.

  1. Am unteren Rand des Editors finden Sie den Abfragebereich. Die Datenquelle Prometheus sollte standardmäßig bereits ausgewählt sein.
  2. Geben Sie in das Textfeld Metrics browser die folgende PromQL-Abfrage ein. Sie können sie direkt kopieren und einfügen.
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

Lassen Sie uns diese Abfrage aufschlüsseln:

  • node_cpu_seconds_total{mode="idle"}: Dies ist eine Metrik vom Node Exporter, die die Gesamtzahl der Sekunden zählt, in denen die CPU im "idle"-Zustand war.
  • rate(...[5m]): Diese Funktion berechnet die durchschnittliche Rate der Zunahme der Leerlaufzeit über die letzten 5 Minuten pro Sekunde. Das Ergebnis ist ein Wert zwischen 0 und 1, der den Anteil der Zeit darstellt, in der die CPU im Leerlauf war.
  • avg by (instance): Dies aggregiert die Ergebnisse, was nützlich ist, wenn Sie mehrere CPUs oder Maschinen haben.
  • * 100: Dies wandelt den Bruchteil in einen Prozentsatz um (z. B. wird aus 0,95 95 %).
  • 100 - ...: Schließlich subtrahieren wir den Leerlaufprozentsatz von 100, um den aktiven CPU-Auslastungsprozentsatz zu erhalten.

Nachdem Sie die Abfrage eingegeben haben, sollte im Vorschaufenster oben automatisch ein Diagramm erscheinen, das die CPU-Auslastung im Zeitverlauf anzeigt.

Grafana Panel with Query

Ihr Panel zeigt nun Daten an, kann aber durch bessere Beschriftungen und Formatierungen verbessert werden, was Sie im nächsten Schritt tun werden.

Dashboard anpassen und speichern

In diesem Schritt passen Sie das Erscheinungsbild des Panels an und speichern das Dashboard. Ein gut konfiguriertes Panel ist auf einen Blick viel einfacher zu verstehen.

  1. Suchen Sie auf der rechten Seite des Panel-Editors den Abschnitt Panel options.
  2. Geben Sie im Feld Title einen beschreibenden Namen für Ihr Panel ein, z. B. CPU Usage %. Sie sehen, wie sich der Titel im Vorschaufenster aktualisiert.
  3. Scrollen Sie in den Optionen auf der rechten Seite nach unten, bis Sie den Abschnitt Standard options finden.
  4. Klicken Sie auf das Dropdown-Menü Unit. Derzeit steht dort "None".
  5. Geben Sie in das erscheinende Suchfeld percent ein und wählen Sie aus der Liste Percent (0-100) aus. Dadurch wird die Y-Achse Ihres Diagramms korrekt formatiert, um ein Prozentzeichen anzuzeigen.
Customize Panel Options

Nachdem das Panel konfiguriert ist, wenden Sie die Änderungen an und kehren Sie zur Dashboard-Ansicht zurück.

  1. Klicken Sie in der oberen rechten Ecke des Bildschirms auf die Schaltfläche Save.

Sie sind nun zurück auf Ihrem Dashboard, das Ihr neu erstelltes Panel enthält. Der letzte Schritt ist das Speichern des gesamten Dashboards.

  1. Klicken Sie in der oberen rechten Ecke des Dashboard-Headers auf das Symbol Save dashboard (sieht aus wie eine Diskette).
  2. Ein Dialogfeld "Save dashboard" wird angezeigt. Geben Sie einen Namen für Ihr Dashboard ein, z. B. My System Dashboard.
  3. Klicken Sie auf die Schaltfläche Save.
Save Dashboard

Herzlichen Glückwunsch! Sie haben erfolgreich Ihr erstes Grafana-Dashboard erstellt und gespeichert.

Zusammenfassung

In diesem Lab haben Sie erfolgreich ein Grafana-Dashboard von Grund auf neu erstellt. Sie haben mit einem vorkonfigurierten Monitoring-Stack begonnen und die folgenden wichtigen Aktionen durchgeführt:

  • Erkundung der Umgebung, die aus Grafana-, Prometheus- und Node Exporter-Containern besteht.
  • Navigation in der Grafana-Benutzeroberfläche, um ein neues, leeres Dashboard zu erstellen.
  • Hinzufügen eines Visualisierungspanels und Schreiben einer PromQL-Abfrage, um CPU-Auslastungsdaten aus der Prometheus-Datenquelle abzurufen.
  • Anpassung des Titels und der Einheitenformatierung des Panels für bessere Lesbarkeit.
  • Speichern des abgeschlossenen Dashboards für die zukünftige Verwendung.

Sie haben nun den grundlegenden Workflow für die Erstellung von Visualisierungen in Grafana kennengelernt. Sie können auf diesem Wissen aufbauen, indem Sie Ihrem Dashboard weitere Panels hinzufügen, um andere Systemmetriken wie Speichernutzung, Festplatten-I/O oder Netzwerkverkehr zu überwachen.