Linux Server Setup für Monitoring-Server: Grafana & Prometheus Stack

Ein Monitoring-Server bildet das Rückgrat für die Überwachung von IT-Infrastrukturen. Mit einem Linux-basierten Setup, das Prometheus für die Metrik-Erfassung und Grafana für die Visualisierung nutzt, lassen sich Server, Netzwerkgeräte und Anwendungen zentral überwachen. In diesem Tutorial zeigen wir Schritt für Schritt, wie Sie einen stabilen, skalierbaren und sicheren Monitoring-Stack aufbauen.

Grundlagen: Prometheus & Grafana

Prometheus ist ein Open-Source-Monitoring-System, das Metriken über HTTP abruft und in einer Zeitreihen-Datenbank speichert. Grafana dient als Visualisierungsplattform, die Dashboards und Alerts ermöglicht.

  • Prometheus: Metriken sammeln, speichern und abfragen
  • Grafana: Dashboards erstellen und Alerts konfigurieren
  • Node Exporter: Linux-Systemmetriken bereitstellen
  • Alertmanager: Benachrichtigungen bei Grenzwertüberschreitungen

Systemvoraussetzungen

Für einen stabilen Monitoring-Server empfehlen sich:

  • Linux-Distribution: Ubuntu 22.04 LTS oder CentOS 9 Stream
  • CPU: mindestens 2 Kerne
  • RAM: mindestens 4 GB
  • Speicher: 50 GB für Metriken und Grafana-Daten
  • Netzwerk: feste IP-Adresse, Firewall entsprechend konfiguriert

Prometheus installieren

Prometheus wird direkt von der offiziellen Webseite oder über die Paketverwaltung installiert. Für Ubuntu:

wget https://github.com/prometheus/prometheus/releases/download/v2.50.0/prometheus-2.50.0.linux-amd64.tar.gz
tar xvfz prometheus-2.50.0.linux-amd64.tar.gz
sudo mv prometheus-2.50.0.linux-amd64 /usr/local/prometheus

Prometheus als Service einrichten

sudo nano /etc/systemd/system/prometheus.service
# Inhalt:
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
ExecStart=/usr/local/prometheus/prometheus
--config.file=/usr/local/prometheus/prometheus.yml
--storage.tsdb.path=/usr/local/prometheus/data

[Install]
WantedBy=multi-user.target

Service aktivieren

sudo systemctl daemon-reload
sudo systemctl enable prometheus
sudo systemctl start prometheus

Prometheus konfigurieren

Die Konfiguration erfolgt über die Datei prometheus.yml. Beispiel für Node Exporter:

global:
  scrape_interval: 15s

scrape_configs:

  • job_name: 'node'
    static_configs:

    • targets: ['localhost:9100']

Node Exporter installieren

Node Exporter liefert Metriken wie CPU, Speicher, Disk und Netzwerk.

wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.6.1.linux-amd64.tar.gz
sudo mv node_exporter-1.6.1.linux-amd64/node_exporter /usr/local/bin/

Service einrichten

sudo nano /etc/systemd/system/node_exporter.service

Inhalt:

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter

Grafana installieren

Grafana kann als Paket oder Docker-Container betrieben werden. Für Ubuntu:

sudo apt-get install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install grafana

sudo systemctl enable grafana-server
sudo systemctl start grafana-server

Erste Schritte in Grafana

Nach Installation über http://:3000 anmelden (Standard: admin/admin). Datenquellen hinzufügen:

  • Prometheus als Data Source
  • Node Exporter Metriken auswählen
  • Dashboards erstellen und Alerts konfigurieren

Alertmanager integrieren

Für automatische Benachrichtigungen bei kritischen Events:

wget https://github.com/prometheus/alertmanager/releases/download/v0.26.0/alertmanager-0.26.0.linux-amd64.tar.gz
tar xvfz alertmanager-0.26.0.linux-amd64.tar.gz
sudo mv alertmanager-0.26.0.linux-amd64 /usr/local/alertmanager

Service einrichten

sudo nano /etc/systemd/system/alertmanager.service

Inhalt:

[Unit]
Description=Alertmanager
Wants=network-online.target
After=network-online.target

[Service]
User=alertmanager
ExecStart=/usr/local/alertmanager/alertmanager
--config.file=/usr/local/alertmanager/alertmanager.yml

[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload
sudo systemctl enable alertmanager
sudo systemctl start alertmanager

Firewall & Security

Monitoring-Ports sollten nur intern oder für Admins zugänglich sein:

sudo ufw allow from 192.168.1.0/24 to any port 9090   # Prometheus
sudo ufw allow from 192.168.1.0/24 to any port 3000   # Grafana
sudo ufw allow from 192.168.1.0/24 to any port 9100   # Node Exporter

Backups und Persistenz

Datenbank und Konfiguration von Prometheus und Grafana regelmäßig sichern:

tar czvf prometheus-backup.tar.gz /usr/local/prometheus/data
tar czvf grafana-backup.tar.gz /var/lib/grafana

Best Practices

  • Systemdienste als eigene Benutzer laufen lassen
  • Scrape-Intervalle auf Infrastrukturgröße anpassen
  • Alerts sinnvoll konfigurieren, um Alarm-Müdigkeit zu vermeiden
  • Regelmäßige Updates von Prometheus, Grafana und Node Exporter
  • Backups der Zeitreihen-Datenbank und Dashboards planen
  • Monitoring-Server redundante Hosts in Betracht ziehen

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles