linux-ubuntu-debian monitoring grafana visualization dashboards

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

  1. 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).
  2. HTTPS erzwingen: In /etc/grafana/grafana.ini unter [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>