📊 Grafana

Grafana ist die Plattform für die Visualisierung und Analyse von Zeitreihendaten. Erstelle ansprechende Dashboards, um Metriken und Daten aus verschiedenen Quellen darzustellen. Egal, ob du deine Infrastruktur überwachen oder Geschäftsdaten analysieren möchtest Grafana bietet dir die Werkzeuge dafür!

🤔 Was ist Grafana?

Grafana ist eine Open-Source-Plattform für die Visualisierung und Analyse von Zeitreihendaten. Sie bietet eine benutzerfreundliche Oberfläche, mit der Benutzer Daten aus verschiedenen Quellen abrufen, analysieren und in ansprechenden Dashboards visualisieren können. Grafana wird häufig in Verbindung mit anderen Datenquellen und Überwachungstools wie Prometheus und Node Exporter verwendet.

Prometheus

Prometheus ist ein Open-Source-Systemüberwachungstool, das entwickelt wurde, um Metriken und Zeitreihendaten von verschiedenen Systemen zu sammeln, zu speichern und zu überwachen. Prometheus kann Metriken von Anwendungen, Servern, Datenbanken und anderen Komponenten sammeln und bietet eine leistungsstarke Abfragesprache (PromQL), mit der Benutzer komplexe Abfragen und Analysen durchführen können.

Node Exporter

Node Exporter ist ein Prometheus-Exporter für Systemmetriken. Er wird auf den zu überwachenden Hosts ausgeführt und sammelt eine Vielzahl von Metriken über das System, einschließlich CPU-Auslastung, Speichernutzung, Netzwerkaktivität und vielem mehr. Diese Metriken werden von Prometheus gesammelt und können dann in Grafana visualisiert werden.

Die Kombination aus Prometheus, Node Exporter und Grafana bietet eine leistungsstarke Lösung für die Überwachung und Visualisierung von Systemmetriken und Zeitreihendaten. Diese Tools sind weit verbreitet in DevOps-Umgebungen und helfen dabei, die Leistung, Zuverlässigkeit und Gesundheit von Systemen und Anwendungen zu überwachen und zu optimieren.

💻 Installation über CLI / Terminal

Um Grafana, Prometheus und Node-Exporter einzurichten, beginnen wir zunächst damit, die Docker-Volumes zu erstellen. Dies gewährleistet, dass die wichtigen Daten sicher gespeichert werden. Ebenso erstellen wir ein eigenes Netzwerk.

1. Volumes und Netzwerk erstellen

docker volume create prometheus_data
docker volume create grafana_data
docker network create grafana_network

2. Prometheus Container starten

docker run -d --hostname=prometheus --name=g_prometheus --network=grafana_network --restart=unless-stopped \
 -p 9090:9090 \
 -v /etc/prometheus:/etc/prometheus \
 -v prometheus_data:/prometheus \
 prom/prometheus:latest

3. Grafana Container starten

docker run -d --hostname=grafana --name=g_grafana --network=grafana_network --restart=unless-stopped \
 -p 3000:3000 \
 -v grafana_data:/var/lib/grafana \
 grafana/grafana:latest

4. Node Exporter Container starten

docker run -d --hostname=node_exporter --name=g_node_exporter --network=grafana_network --restart=unless-stopped \
 --pid=host \
 -v /:/host:ro,rslave \
 quay.io/prometheus/node-exporter:v1.5.0 --path.rootfs=/host

🔌 Optional: Fritzbox Exporter

Wenn gewünscht, kann hier auch ein Fritzbox-Exporter installiert werden, um z.B. mit Grafana Metriken von der Fritzbox zu visualisieren.

📊 Grafana Dashboard

Download des passenden Dashboards:

 Fritz!Box Status Dashboard

Fritzbox Exporter Container starten

Beachtet: Ihr müsst USERNAME, PASSWORD und die GATEWAY_URL editieren!

docker run -d --hostname=fritzbox_exporter --name=g_fritzbox_exporter --network=grafana_network --restart=unless-stopped \
 -p 9042:9042 \
 -e USERNAME=fritzboxbenutzer \
 -e PASSWORD=fritzboxpasswort \
 -e GATEWAY_URL=IPderFritzbox:49000 \
 -e LISTEN_ADDRESS=0.0.0.0:9042 \
 mineyannik/fritzbox_exporter:latest

⚙️ Prometheus Konfiguration

Damit Prometheus die Daten auch richtig abrufen kann, muss die Konfigurationsdatei bearbeitet werden. Hier wird eine Konfiguration bereitgestellt, die ihr nur noch eintragen müsst.

Konfigurationsdatei erstellen

mkdir -p /etc/prometheus
nano /etc/prometheus/prometheus.yml

Folgenden Inhalt einfügen:

global:
 scrape_interval: 15s

scrape_configs:
 - job_name: 'prometheus'
 scrape_interval: 10s
 static_configs:
 - targets: ['localhost:9090']

 - job_name: 'node_exporter'
 scrape_interval: 10s
 static_configs:
 - targets: ['g_node_exporter:9100']

 - job_name: 'fritzbox_exporter'
 static_configs:
 - targets: ['g_fritzbox_exporter:9042']

Prometheus neu starten

Anschließend muss der Prometheus Container neu gestartet werden.

docker restart g_prometheus

🌍 Zugriff auf das Webinterface

Nachdem die Docker-Container erfolgreich heruntergeladen und gestartet wurden, können wir nun über die IP-Adresse und den Port 3000 auf das Webinterface von Grafana zugreifen.

Login-Daten für die Erstanmeldung

Benutzer:admin
Passwort:admin
← Vorherige Seite Hauptseite Nächste Seite →