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. Starte jetzt und entdecke die Möglichkeiten von Grafana!

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 ursprünglich von SoundCloud entwickelt wurde. Es wurde entwickelt, 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. Prometheus sammelt die Metriken von den verschiedenen Systemen, der Node Exporter liefert spezifische Systemmetriken, und Grafana ermöglicht es Benutzern, diese Daten in Dashboards anzuzeigen, zu analysieren und zu überwachen. 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-Volume´s zu erstellen. Dies gewährleistet, dass die wichtigen Daten sicher gespeichert werden. Ebenso erstellen wir ein eigenes Netzwerk.

docker volume create prometheus_data

docker volume create grafana_data

docker network create grafana_network

Nun können wir die eigentliche Docker-Container bereitstellen und Konfigurieren.

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
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
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

Wenn gewünscht kann hier auch ein Fritzbox-Exporter installiert werden um z.b. mit Grafana Metriken von der Fritzbox zu visualisieren (Download Dashboard)

Beachtet hier, das ihr den USERNAME, PASSWORT und die GATEWAY_URL editieren müsst.

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

Damit Prometheus die Daten auch richtig abrufen kann muss die Konfigurationsdatei bearbeitet werden. Ich stelle euch eine Konfiguration bereit dir ihr nur noch eintragen müsst.

mkdir -p /etc/prometheus

nano /etc/prometheus/prometheus.yml

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']

Anschließen muss der Prometheus Container neu gestartet werden.

docker restart g_prometheus


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

Die Login Daten für die erst Anmeldung lauten wie folgt:
Benutzer: admin
Passwort: admin