Grafana: Monitoring-Stack mit Prometheus, Alloy und Loki
Auf einen Blick
| Gilt für | Prometheus 3.15, Grafana Alloy 1.20, Loki 3.7, node_exporter, windows_exporter, SNMP Exporter; Grafana 13.x; Docker Compose auf Linux |
|---|---|
| Bereich | Server-Software |
| Dauer | Grundaufbau ca. 2–3 Stunden; Anbindung weiterer Systeme je ca. 15–30 Minuten |
| Rechte | Root auf dem Monitoring-Server; Administratorrechte auf den überwachten Systemen; SNMP-Lesezugriff auf Netzwerkgeräte |
| Stand | Oktober 2026 |
Ein Monitoring-Stack mit Prometheus, Alloy und Loki liefert Grafana die Daten: Prometheus speichert Messwerte wie CPU-Last, Speicher, Plattenplatz oder Port-Auslastung, Loki speichert Logs, und Grafana Alloy sammelt beides auf den Servern ein. Netzwerkgeräte wie Switches und Firewalls werden per SNMP abgefragt. Diese Anleitung baut den Stack mit Docker Compose auf, bindet Linux- und Windows-Server, Docker-Hosts und Netzwerkgeräte an und zeigt, worauf bei Speicherbedarf und Aufbewahrung zu achten ist.

Die Bausteine
| Baustein | Version (Okt. 2026) | Aufgabe |
|---|---|---|
| Prometheus | 3.15 | holt Metriken per HTTP ab („Scrape“) und speichert sie; Abfragesprache PromQL; nimmt auch Daten per Remote Write an |
| Grafana Alloy | 1.20 | Sammler für Metriken, Logs und Traces; Nachfolger von Grafana Agent und Promtail (Promtail ist seit 2. März 2026 abgekündigt) |
| Loki | 3.7 | speichert Logs platzsparend, indiziert nur Labels; Abfragesprache LogQL |
| Exporter | – | stellen Messwerte bereit: node_exporter (Linux), windows_exporter, SNMP Exporter, Blackbox Exporter (Erreichbarkeit, Zertifikate) |
Grundlagen: Prometheus, Loki, PromQL, Exporter.
Schritt 1: Prometheus und Loki bereitstellen
Auf dem Grafana-Server (oder einem eigenen Monitoring-Server) die Compose-Datei ergänzen:
prometheus:
image: prom/prometheus:v3.15.0
restart: unless-stopped
command:
- --config.file=/etc/prometheus/prometheus.yml
- --storage.tsdb.retention.time=90d
- --web.enable-remote-write-receiver
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
- prom-data:/prometheus
ports:
- "9090:9090"
loki:
image: grafana/loki:3.7.8
restart: unless-stopped
command: -config.file=/etc/loki/local-config.yaml
volumes:
- loki-data:/loki
ports:
- "3100:3100"
snmp-exporter:
image: prom/snmp-exporter
restart: unless-stopped
- Die Ports 9090 und 3100 nur für die Server freigeben, die Daten liefern – per Host-Firewall; Prometheus und Loki haben ohne Zusatzmaßnahmen keine Anmeldung.
- Aufbewahrung: Prometheus über
--storage.tsdb.retention.time; Loki überretention_periodund den Compactor in einer eigenen Konfigurationsdatei (die mitgelieferte Beispielkonfiguration ist für Tests gedacht). - Speicherbedarf grob: wenige Bytes je Messwert; 50 Server mit Standard-Metriken im 30-Sekunden-Takt brauchen für 90 Tage einige 10 GB. Logs wachsen deutlich schneller – Aufbewahrung bewusst wählen.
Schritt 2: Linux-Server mit Alloy anbinden
Alloy auf jedem Linux-Server aus dem Grafana-Paketrepository installieren (apt install alloy) und /etc/alloy/config.alloy anlegen:
// Systemmetriken (eingebauter node_exporter)
prometheus.exporter.unix "node" { }
prometheus.scrape "node" {
targets = prometheus.exporter.unix.node.targets
forward_to = [prometheus.remote_write.zentral.receiver]
}
prometheus.remote_write "zentral" {
endpoint { url = "http://monitor.firma.lan:9090/api/v1/write" }
}
// Logs aus dem systemd-Journal
loki.source.journal "journal" {
labels = { job = "journal", host = constants.hostname }
forward_to = [loki.write.zentral.receiver]
}
loki.write "zentral" {
endpoint { url = "http://monitor.firma.lan:3100/loki/api/v1/push" }
}
sudo systemctl enable --now alloy
- Damit Alloy das Journal und Logdateien lesen darf, den Dienstbenutzer
alloyin die Gruppensystemd-journalundadmaufnehmen. - Alloy hat eine eigene Weboberfläche (Standard Port 12345, nur lokal), die den Datenfluss der Komponenten zeigt – hilfreich bei der Fehlersuche.
- Bestehende Promtail-Konfigurationen lassen sich mit
alloy convert --source-format=promtailumwandeln. Die von Alloy gelieferten Metriken unterscheiden sich von denen von Promtail; Dashboards und Alarme darauf prüfen. - Docker-Hosts: Container-Logs mit
discovery.dockerundloki.source.dockereinsammeln, Container-Metriken mitprometheus.exporter.cadvisor.
Schritt 3: Windows-Server
- windows_exporter (MSI-Paket) installieren; er stellt Metriken auf Port 9182 bereit. Alternativ Alloy für Windows mit
prometheus.exporter.windows, der auch Ereignisprotokolle an Loki senden kann (loki.source.windowsevent). - In
prometheus.ymlals Ziel eintragen:
scrape_configs:
- job_name: windows
static_configs:
- targets: ['dc01.firma.lan:9182', 'fs01.firma.lan:9182']
Schritt 4: Switches, Firewalls und USV per SNMP
Der SNMP Exporter übersetzt SNMP-Abfragen in Prometheus-Metriken. Das mitgelieferte snmp.yml enthält Module wie if_mib (Schnittstellen-Traffic, Fehler, Status):
- job_name: snmp-switches
metrics_path: /snmp
params:
module: [if_mib]
auth: [public_v2]
static_configs:
- targets: ['sw-core01.firma.lan', 'sw-etage1.firma.lan', 'fw01.firma.lan']
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: snmp-exporter:9116
- SNMPv3 mit Authentifizierung und Verschlüsselung verwenden, wo die Geräte es unterstützen; Zugangsdaten werden im Bereich
authsdersnmp.ymlhinterlegt (eigene Datei mit dem Generator erzeugen). - SNMP-Zugriff auf den Geräten nur für die IP des Monitoring-Servers erlauben, siehe SNMP.
- Für UniFi, Cisco und OPNsense gibt es fertige Module bzw. Dashboards; alternativ sammelt Alloy die Syslog-Meldungen der Geräte (
loki.source.syslog).
Schritt 5: In Grafana einbinden
- Datenquellen Prometheus (
http://prometheus:9090) und Loki (http://loki:3100) anlegen, siehe Grafana: Datenquellen und Dashboards erstellen. - Fertige Dashboards importieren, z. B. „Node Exporter Full“ für Linux-Server oder Dashboards für windows_exporter und SNMP-Schnittstellen.
Hinweise
- Vorhandenes Monitoring: Läuft bereits Zabbix oder InfluxDB/Telegraf, kann Grafana diese Daten zusätzlich darstellen – ein Neuaufbau ist nicht nötig, siehe Installation von InfluxDB und Grafana auf Debian 13.
- Logs mit Sicherheitsbezug (Anmeldungen, Firewall-Verbindungen) gehören zusätzlich ins SIEM; Loki ersetzt keine Korrelation und keine Nachweisführung.
- Größere Umgebungen: Für viele hundert Systeme oder lange Aufbewahrung skalieren Mimir (Metriken) und Loki im verteilten Betrieb mit Objektspeicher.
- Bei Konzeption und Betrieb von Monitoring- und SIEM-Lösungen mit Open Source unterstützt Sie das Team SIEM & Monitoring mit Open Source von m.a.x. it.
Siehe auch
- Grafana im Unternehmen – Überblick und alle Artikel der Reihe
- Monitoring
- OpenTelemetry
- Log-Management
Links und Quellen
Über m.a.x. it Die m.a.x. Informationstechnologie AG ist seit über 30 Jahren IT-Partner mittelständischer und großer Unternehmen in München und bietet maßgeschneiderte Lösungen und Services in den Bereichen Cloud, Cybersecurity, Netzwerk, Windows, Linux und Softwareentwicklung. Sie haben eine Frage zu diesem Artikel oder brauchen Unterstützung?
