Grafana: Visualization & Dashboards (Artikel 044)
Installation und Einrichtung von Grafana als zentrale Visualisierungsplattform. Anbindung von Datenquellen, Dashboard-Management und Benutzerverwaltung im Enterprise-Umfeld.
# Grafana: Infrastruktur-Monitoring visuell beherrschen
TL;DR / Management Summary Während Prometheus die Daten sammelt, macht Grafana sie sichtbar. Es ist das Standard-Frontend für moderne Observability-Stacks. Grafana erlaubt es, Daten aus dutzenden Quellen (Prometheus, InfluxDB, SQL, Elasticsearch) in Echtzeit-Dashboards zu kombinieren. Wer Grafana beherrscht, verwandelt abstrakte Metriken in handlungsorientierte Einblicke (Insights) für das gesamte Team.
# 1. Einführung & Architektur
Das Schaufenster der Daten.
Grafana selbst speichert keine Zeitreihendaten. Es fragt Datenquellen (Data Sources) ab und rendert diese im Browser.
graph TD
A[Admin / User] -->|HTTPS Port 3000| B[Grafana Web UI]
B -->|Query| C[Prometheus]
B -->|Query| D[MySQL / PostgreSQL]
B -->|Query| E[CloudWatch / Azure Mon]
C/D/E -->|Results| B
B -->|Persist Dashboards| F[Local SQLite / Postgres]
# 2. Installation: Der Enterprise-Weg
Immer aktuell bleiben.
# Repository hinzufügen
sudo apt install -y apt-transport-https software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
# Installation & Start
sudo apt update
sudo apt install grafana
sudo systemctl enable --now grafana-server
Standardmäßig erreichbar unter: http://<server_ip>:3000 (Login: admin / admin).
# 3. Grundkonfiguration
Data Sources und Sicherheit.
# Erste Schritte
- Data Source hinzufügen: Gehen Sie zu “Connections” -> “Data Sources”. Wählen Sie “Prometheus” und geben Sie die URL ein (z.B.
http://localhost:9090). - HTTPS erzwingen: In
/etc/grafana/grafana.iniunter[server]sollten Sie TLS-Zertifikate hinterlegen oder einen Nginx-Proxy davor setzen.
# LDAP / AD Integration (Enterprise)
Grafana kann Benutzer direkt gegen ein Active Directory authentifizieren.
Datei: /etc/grafana/ldap.toml
[[servers]]
host = "dc01.company.local"
port = 636
use_ssl = true
bind_dn = "cn=admin,dc=company,dc=local"
# 4. Day-2 Operations: Dashboards as Code
Wiederholbare Dashboards.
Admins bauen Dashboards nicht nur in der GUI. In großen Umgebungen werden Dashboards als JSON-Dateien via Git verteilt (Provisioning).
# Provisioning Verzeichnis
Legen Sie Ihre JSON-Dateien in /etc/grafana/provisioning/dashboards/ ab. Grafana liest diese beim Start automatisch ein.
# Das “Node Exporter Full” Dashboard
Importieren Sie das Dashboard mit der ID 1860. Es bietet sofortige, professionelle Ansichten für alle Linux-Server.
# 5. Troubleshooting & “War Stories”
Wenn die Graphen schweigen.
# Story 1: “Query Timeout”
Symptom: Dashboards laden extrem langsam oder zeigen “Gateway Timeout” (504).
Ursache: Die Prometheus-Query ist zu komplex (z.B. Regex-Suche über Millionen Zeitreihen) oder der abgefragte Zeitraum ist zu groß (z.B. “Last 1 year” mit 1s Auflösung).
Lösung: Optimieren Sie die Abfrage (rate nutzen statt irate) oder nutzen Sie Recording Rules in Prometheus, um komplexe Graphen vorab zu berechnen.
# Story 2: “Dashboard-Wildwuchs”
Symptom: Es gibt 500 Dashboards, aber niemand weiß, welches aktuell ist. Ursache: Fehlende Governance und “Save”-Wut der Benutzer. Lösung: Nutzen Sie Folders und Permissions. Nur Administratoren sollten globale Dashboards ändern dürfen. Nutzen Sie das Feature “Read-only” für Provisioned Dashboards.
# 6. Fazit & Empfehlung
- Trennung: Nutzen Sie eine externe Datenbank (PostgreSQL) für Grafana selbst, wenn Sie Hochverfügbarkeit brauchen.
- Alerting: Nutzen Sie Grafana Alerts für visuelle Schwellwerte, aber verlassen Sie sich für systemkritische Alarme lieber auf den Prometheus Alertmanager.
- Mobile: Grafana Dashboards sind responsive. Nutzen Sie die App für schnelle Checks von unterwegs.
# Anhang: Cheatsheet
| Aufgabe | Pfad / Befehl |
|---|---|
| Hauptkonfiguration | /etc/grafana/grafana.ini |
| Plugins installieren | grafana-cli plugins install <name> |
| Log-Datei | /var/log/grafana/grafana.log |
| Dienst neustarten | systemctl restart grafana-server |
| Dashboard Export | Menü: “Share” -> “Export” -> “Save to file” |
| CLI Administration | grafana-cli admin reset-admin-password <pass> |