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