1. Einleitung
  2. Voraussetzungen
  3. Installation via Docker Compose
  4. Deployment über Portainer
  5. Grundlegende Einrichtung von Grafana
  6. Eintragen der Admin-Email-Adresse in Grafana-Dashboard
  7. Grafana-Konfiguration (grafana.ini) für Mail-SMTP-Versand anpassen
  8. Grafana für Alertmeldungen konfigurieren
    1. E-Mail-Kontaktpunkt konfigurieren
  9. Grafana für Alertmeldungen konfigurieren: Vorbereitung
  10. Überwachung des Host-Raspberry Pi (auf dem Prometheus und Grafana laufen)
  11. Einen zweiten Host überwachen
  12. Alarmregeln erstellen
  13. Beispiel-Regelqueries für Speicherplatz, RAM und CPU-Temperatur
  14. Abschluss

Einleitung

Grafana und Prometheus sind zwei leistungsstarke Open-Source-Werkzeuge, die in der IT-Welt hoch geschätzt werden, um Systemmetriken zu sammeln, zu speichern und zu visualisieren. Grafana bietet eine vielseitige Plattform zur Darstellung und Analyse der Metriken, während Prometheus diese Metriken sammelt und speichert. Zusammen bieten sie eine umfassende Lösung für das IT-Monitoring.

Voraussetzungen

Bevor Sie mit der Installation beginnen, sollten Sie sicherstellen, dass Sie alle Vorbereitungsschritte abgeschlossen haben. Die optionalen Schritte, wie die Einrichtung von DynDNS oder Caddy, sind für dieses Tutorial nicht erforderlich.

Installation via Docker Compose

Um Grafana und Prometheus einfach zu installieren, verwenden wir Docker in Kombination mit einem Docker Compose-Skript. Dieses Skript vereinfacht den Installationsprozess und sorgt für eine optimale Integration beider Dienste.

version: '3'
services:
  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    volumes:
      - grafana_data:/var/lib/grafana
      - /etc/grafana:/etc/grafana  # Einbindung des Konfigurationsverzeichnisses für SMTP
    restart: always

  prometheus:
    image: bitnami/prometheus:latest
    ports:
      - "9090:9090"
    volumes:
      - prometheus_data:/data
      - /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml # Einbindung der Prometheus-Konfigurationsdatei
    restart: always
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'

volumes:
  grafana_data:
  prometheus_data:

Deployment über Portainer

  1. Öffnen Sie Portainer und navigieren Sie zu „Stacks“.
  2. Klicken Sie auf „Add Stack“.
  3. Geben Sie Ihrem Stack einen Namen, z.B. „monitoring“.
  4. Fügen Sie den oben genannten Docker Compose-Code in das Textfeld Web editor ein.
  5. Klicken Sie auf „Deploy the stack“.

Deployment Prozess für Prometheus und Grafana

Anschließend können Sie nochmals prüfen ob alle Container laufen:

Check Container Status

Grundlegende Einrichtung von Grafana

Nachdem Sie Grafana installiert haben, können Sie darauf über den Browser unter http://IhreServerIP:3000 zugreifen.

Startseite von Grafana
  1. Melden Sie sich mit dem Standardbenutzernamen „admin“ und dem Passwort „admin“ an.
  2. Ändern Sie das Passwort.
Änderung des Standardpassworts
Grafana Startseite

Fügen Sie Prometheus als Datenquelle hinzu, indem Sie in der linken Navigationsleiste auf die drei waagrechten Striche klicken (Toggle Menu) und wählen Sie dann den Punkt „Connections“ aus.

Auswahl des Menüpunkts „Connections“

Wählen Sie nun den Punkt „Data Sources“ aus und gehen und klicken Sie auf den blauen Button „Add data source“.

Hinzufügen der Prometheus Datenquelle

Klicken Sie anschließend auf Prometheus als Datenquelle und geben Sie Ihre Prometheus server URL ein. Diese ist die lokale IP Adresse des Raspberry Pi’s in Verbindung mit dem Standardport für Prometheus 9090.
Beispiel: http://192.168.178.192:9090

Linkes Bild: Auswahl der Prometheus Datenquelle und rechtes Bild: Eingabe der Prometheus server URL.

Scrollen Sie nun ganz nach unten und speichern Sie die hinzugefügte Prometheus Datenquelle mit einem Klick auf „Save und test“.

Abspeichern der hinzugefügten Prometheus Datenquelle

Damit haben Sie die Prometheus Datenquelle erfolgreich zu Grafana hinzugefügt.

Darstellung der hinzugefügten Prometheus Datenquelle

Eintragen der Admin-Email-Adresse in Grafana-Dashboard

Klicken Sie nun unter dem Punkt „Administration“ auf „Users“ und klicken Sie rechts auf „edit“ und passen Sie die Informationen für Ihren Adminbenutzer an.

Benutzerinformationen in Grafana anpassen

Grafana-Konfiguration (grafana.ini) für Mail-SMTP-Versand anpassen

Grafana-Konfigurationsverzeichnis auf dem Host (Raspi) erstellen:

sudo mkdir /etc/grafana/

Konfigurationsdatei erstellen und bearbeiten:

sudo nano /etc/grafana/grafana.ini

Fügen Sie die SMTP-Konfiguration in die grafana.ini Datei ein und passen Sie die Daten gemäß Ihres Mailproviders an:

[smtp]
enabled = true
from_address = Ihre-E-Mail-Adresse
host = Mailserver-Ihres-Providers:587
user = Ihre-E-Mail-Adresse
password = Ihre-E-Mail-Passwort
Inhalt der Grafana-SMTP-Konfigurationsdatei

Speichern und schließen:

  • Drücken Sie Strg+O und Enter, um zu speichern.
  • Drücken Sie Strg+X, um die Datei zu verlassen.

Führen Sie einen Neustart des Prometheus Containers in Portainer durch, damit die Änderungen wirksam werden.

Neustart des Prometheus-Containers

Überprüfen Sie im Grafana Dashboard unter Administration –> Settings ob die Daten Ihrer Konfigurationsdatei erfolgreich übernommen wurden.

SMTP-Settings-Check

Überwachung von Schlüsselmetriken in Grafana konfigurieren

  • Nachdem Sie sich bei Grafana angemeldet haben, können Sie Dashboards erstellen oder importieren und Alarme mit benutzerdefinierten Triggern und Benachrichtigungen konfigurieren.
  • Bei der Konfiguration von Alarmen können Sie nun die E-Mail-Benachrichtigungsoption verwenden, und die Alarme sollten wie konfiguriert über SMTP gesendet werden.

Im Folgenden möchte ich Ihnen die Überwachung der folgenden Schlüsselmetriken zeigen.

  • Auslastung der CPU
  • Arbeitsspeicher RAM
  • Auslastung des Festplattenspeichers
  • Temperatur der CPU

Grafana für Alertmeldungen konfigurieren

In diesem Abschnitt werden wir uns darauf konzentrieren, wie Sie Alarmregeln für verschiedene Systemmetriken wie CPU-Auslastung, RAM-Verbrauch, Festplattenspeicherauslastung und CPU-Temperatur konfigurieren können.

E-Mail-Kontaktpunkt konfigurieren

  1. Zugriff auf das Alerting-Menü:
    • Navigieren Sie zur Seitenleiste in Grafana und klicken Sie auf das „Bell“-Symbol (Toggle Menu), um das „Alerting“-Menü zu öffnen.
  2. Kontaktpunkte bearbeiten:
    • Klicken Sie auf „Contact points“.
    • Suchen Sie den E-Mail-Kontaktpunkt und klicken Sie auf das Stiftsymbol auf der rechten Seite, um die Einstellungen zu bearbeiten.
  3. E-Mail-Adresse konfigurieren:
    • Tragen Sie die gewünschte E-Mail-Adresse ein, an die die Alarmmeldungen gesendet werden sollen.
    • Speichern Sie die Änderungen.

Alertkonfigurationsmenü und Einstellung der Kontakte welche die Alarmmeldungen erhalten sollen.

Grafana für Alertmeldungen konfigurieren: Vorbereitung

Überwachung des Host-Raspberry Pi (auf dem Prometheus und Grafana laufen)

1. Node Exporter installieren:

Installieren Sie den Node Exporter auf dem Raspberry Pi, auf dem Prometheus und Grafana laufen:

sudo apt-get install -y prometheus-node-exporter

2. Prometheus konfigurieren:

Bearbeiten Sie die prometheus.yml Datei:

sudo nano /etc/prometheus/prometheus.yml

Fügen Sie einen neuen Scraping-Job hinzu, der auf die Node-Exporter-Instanz dieses Raspberry Pi zeigt:

scrape_configs:
  - job_name: 'prometheus_host'
    static_configs:
      - targets: ['localhost:9100']

Starten Sie den Prometheus-Service neu, um die Änderungen wirksam zu machen.

Einen zweiten Host überwachen

Node Exporter auf dem zweiten Host installieren:

  • Auf jedem zu überwachenden Host führen Sie folgenden Befehl aus:
sudo apt-get install -y prometheus-node-exporter

Firewall-Konfiguration:

  • Erlauben Sie den Zugriff auf den Node Exporter:
sudo ufw allow 9100/tcp

Prometheus konfigurieren:

Fügen Sie den zweiten Host zur prometheus.yml Datei hinzu und starten Sie den Prometheus-Service neu:

sudo nano /etc/prometheus/prometheus.yml

Durch die Einhaltung dieser Vorbereitungsschritte stellen Sie sicher, dass die notwendigen Dienste ordnungsgemäß installiert und konfiguriert sind, um in Grafana für aussagekräftige Alertmeldungen sorgen zu können.

Alarmregeln erstellen

  1. Neue Alarmregel anlegen:
    • Gehen Sie erneut zum „Alerting“-Menü und wählen Sie „Alert Rules“.
    • Klicken Sie auf „New Alert Rule“.
  2. Metrik-Auswahl:
    • Beginnen Sie mit der Auswahl der Datenquelle und der Metrik, die Sie überwachen möchten. Sie könnten vordefinierte Metriken auswählen oder eigene hinzufügen, basierend auf den Metriken, die von Ihrer Datenquelle erhalten wurden.
  3. Alarmregeln für verschiedene Metriken:
    • CPU-Auslastung:
      • Wählen Sie die entsprechende Metrik, die die CPU-Auslastung repräsentiert.
      • Konfigurieren Sie die Bedingungen, die den Alarm auslösen, z.B., wenn die CPU-Auslastung für 5 Minuten über 80% liegt.
    • Arbeitsspeicher (RAM) Verbrauch:
      • Wählen Sie die Metrik für den RAM-Verbrauch.
      • Setzen Sie einen Schwellenwert, z.B., wenn der RAM-Verbrauch über 90% liegt.
    • Festplattenspeicherauslastung:
      • Wählen Sie die Metrik für die Festplattenauslastung.
      • Setzen Sie die Bedingungen für den Alarm, z.B., wenn die Festplattenauslastung mehr als 85% beträgt.
    • CPU-Temperatur:
      • Wählen Sie die Metrik, die die CPU-Temperatur anzeigt.
      • Legen Sie die Alarmbedingung fest, z.B., wenn die Temperatur 75 Grad Celsius überschreitet.
  4. Konfigurieren der Alarmbedingungen:
    • Legen Sie die Bedingungen fest, unter denen ein Alarm ausgelöst werden soll, und konfigurieren Sie die Häufigkeit der Überprüfung.
  5. Benachrichtigungen einrichten:
    • Wählen Sie den zuvor konfigurierten E-Mail-Kontaktpunkt aus, um Benachrichtigungen zu erhalten, wenn der Alarm ausgelöst wird.
    • Konfigurieren Sie die Nachrichten und den Betreff der E-Mail, die gesendet werden soll.
  6. Speichern:
    • Nachdem Sie die Alarmregeln konfiguriert haben, vergessen Sie nicht, Ihre Änderungen zu speichern.

Beispiel-Regelqueries für Speicherplatz, RAM und CPU-Temperatur

In diesem Abschnitt finden Sie vorkonfigurierte Regelqueries, die durch Screenshots illustriert sind, um Ihnen zu zeigen, wie Sie Alarmregeln für verschiedene Systemmetriken wie Speicherplatz, RAM-Auslastung und CPU-Temperatur in Grafana einrichten können. Diese Beispiele bieten eine praktische Referenz, um Ihnen den Einstieg in die Konfiguration eigener Überwachungs- und Alarmregeln zu erleichtern.

Überwachung des verfügbaren Speicherplatzes eines Systems:

Überwachung des verfügbaren Arbeitsspeichers (RAM) eines Systems:

Überwachung der aktuellen CPU-Temperatur eines Systems:

Am Ende nach dem Sie Ihre favorisierten Alarmregeln konfiguriert haben, sieht das bspw. folgendermaßen aus, nachdem Sie alle Regeln entsprechend für ein zu überwachendes System gruppiert haben:

Durch das Befolgen dieser Schritte können Sie effektive Überwachungs- und Alarmierungsregeln für wichtige Systemmetriken erstellen und sicherstellen, dass Sie rechtzeitig benachrichtigt werden, um angemessene Maßnahmen ergreifen zu können.

Abschluss

Mit Grafana und Prometheus haben Sie nun zwei mächtige Werkzeuge zur Überwachung Ihrer IT-Infrastruktur. Sie bieten detaillierte Einblicke in die Leistung und Gesundheit Ihrer Systeme und Dienste. Nutzen Sie die umfangreichen Möglichkeiten zur Erstellung von Dashboards in Grafana, um die von Prometheus gesammelten Daten optimal zu nutzen.

Viel Erfolg bei der weiteren Erkundung und Nutzung dieser leistungsstarken Monitoring-Tools!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert