Prometheus / Grafana
Prometheus + Grafana Installation auf Debian 12 (IP: 10.0.0.20)
Voraussetzungen
- Debian 12 Server mit statischer IP (z. B.
10.0.0.20
) - Root- oder Sudo-Zugriff
- Internetverbindung
- Optional: ein zweiter Server/Webserver für Node Exporter (z. B.
10.0.0.30
)
System aktualisieren
sudo apt update && sudo apt upgrade -y
Prometheus 2.53.5 installieren
Download und Entpacken
cd /opt sudo wget https://github.com/prometheus/prometheus/releases/download/v2.53.5/prometheus-2.53.5.linux-amd64.tar.gz sudo tar -xvf prometheus-2.53.5.linux-amd64.tar.gz sudo mv prometheus-2.53.5.linux-amd64 prometheus
Benutzer und Verzeichnisse erstellen
sudo useradd --no-create-home --shell /bin/false prometheus sudo mkdir -p /etc/prometheus /var/lib/prometheus
Binärdateien kopieren
cd /opt/prometheus sudo cp prometheus promtool /usr/local/bin/ sudo chown prometheus:prometheus /usr/local/bin/prometheus /usr/local/bin/promtool
Konfiguration kopieren
sudo cp -r consoles/ console_libraries/ /etc/prometheus/ sudo cp prometheus.yml /etc/prometheus/ sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
Prometheus konfigurieren
sudo nano /etc/prometheus/prometheus.yml
Beispiel-Inhalt:
global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'webserver' static_configs: - targets: ['10.0.0.30:9100']
Systemd-Service für Prometheus erstellen
sudo nano /etc/systemd/system/prometheus.service
Inhalt:
[Unit] Description=Prometheus Monitoring Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/usr/local/bin/prometheus \ --config.file=/etc/prometheus/prometheus.yml \ --storage.tsdb.path=/var/lib/prometheus/ [Install] WantedBy=multi-user.target
Prometheus starten
sudo systemctl daemon-reexec sudo systemctl enable --now prometheus
Grafana installieren
Repository einrichten
sudo apt install -y software-properties-common sudo mkdir -p /etc/apt/keyrings sudo wget -q -O /etc/apt/keyrings/grafana.key https://packages.grafana.com/gpg.key echo "deb [signed-by=/etc/apt/keyrings/grafana.key] https://packages.grafana.com/oss/deb stable main" | \ sudo tee /etc/apt/sources.list.d/grafana.list sudo apt update
Grafana installieren
sudo apt install grafana -y sudo systemctl enable --now grafana-server
Webinterface: [1](http://10.0.0.20:3000)
Standard-Login: admin
/ admin
Grafana mit Prometheus verbinden
- Im Browser öffnen:
http://10.0.0.20:3000
- Menü:
Settings → Data Sources
- Wähle
Prometheus
- URL:
http://localhost:9090
- Speichern & Testen
Node Exporter auf Webserver (z. B. 10.0.0.30)
Download und Start
cd /opt wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-1.8.0.linux-amd64.tar.gz tar xvf node_exporter-1.8.0.linux-amd64.tar.gz cd node_exporter-1.8.0.linux-amd64 ./node_exporter &
Testen
curl http://10.0.0.30:9100/metrics
Firewall freischalten (falls aktiv)
sudo ufw allow 9100/tcp
Firewalls (optional)
sudo ufw allow 9090/tcp # Prometheus sudo ufw allow 3000/tcp # Grafana
Übersicht
Komponente | IP-Adresse | Port | Aufgabe |
---|---|---|---|
Prometheus | 10.0.0.20 | 9090 | Metriken sammeln |
Grafana | 10.0.0.20 | 3000 | Visualisierung |
Node Exporter | 10.0.0.30 | 9100 | Metriken vom Webserver |
Fehlerbehebung: Grafana UI unter http://10.0.0.20:3000 nicht erreichbar
1. Läuft der Grafana-Dienst?
Prüfen, ob Grafana korrekt gestartet ist:
sudo systemctl status grafana-server
Wenn der Dienst als inactive
oder failed
angezeigt wird, Logs anzeigen:
sudo journalctl -u grafana-server --no-pager | tail -30
2. Lauscht Grafana auf Port 3000?
ss -tuln | grep 3000
Ausgabe sollte etwa so aussehen:
LISTEN 0 128 0.0.0.0:3000 ...
Wenn keine Ausgabe erscheint, läuft Grafana nicht oder ist falsch konfiguriert.
3. Firewall prüfen
Bei aktivierter UFW:
sudo ufw status
Port freigeben (wenn nötig):
sudo ufw allow 3000/tcp
4. Netzwerkverbindung testen
Vom Client aus (anderer PC im Netzwerk):
ping 10.0.0.20 curl http://10.0.0.20:3000
Wenn beides fehlschlägt, ist die IP-Adresse möglicherweise falsch oder blockiert. Auf dem Server prüfen:
ip a
5. Grafana lauscht nur auf 127.0.0.1?
Grafana ist standardmäßig nur lokal erreichbar. Um externe Zugriffe zu erlauben:
sudo nano /etc/grafana/grafana.ini
Folgende Zeile suchen:
;http_addr =
Ändern in:
http_addr = 0.0.0.0
Dann neu starten:
sudo systemctl restart grafana-server
6. Läuft Grafana in Docker?
Falls Grafana über Docker betrieben wird:
docker ps
Stelle sicher, dass Port 3000 korrekt gemappt ist:
0.0.0.0:3000->3000/tcp
Zusammenfassung der häufigsten Ursachen
Problem | Mögliche Ursache | Lösung | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dienst läuft nicht | Grafana-Server ist abgestürzt | systemctl restart grafana-server
|
Kein Zugriff von außen | Lauscht nur auf 127.0.0.1 |
http_addr = 0.0.0.0 setzen
|
Firewall blockiert | UFW blockiert Port 3000 | sudo ufw allow 3000/tcp
|
IP nicht erreichbar | Falsche IP-Adresse oder Routing | Mit ip a prüfen
|
Docker falsch konfiguriert | Port nicht gemappt | Container mit -p 3000:3000 starten
|