Was ist Server-Monitoring?
Server-Monitoring ist die kontinuierliche Erfassung, Speicherung, Visualisierung von CPU-, RAM-, Festplatten-, Netzwerk-, Uptime- und Anwendungsmetriken sowie die Erzeugung von Alarmen, wenn bestimmte Schwellenwerte überschritten werden.
Moderne Monitoring-Systeme beantworten folgende Fragen:
- Warum ist die Performance eingebrochen?
- Welche Ressource ist der Engpass?
- Wann wird ein Absturz passieren?
- Wann wird die Festplatte voll sein?
Der am häufigsten verwendete Monitoring-Stack:
- Prometheus
- Grafana
- Node Exporter
- Alertmanager
Warum ist Monitoring Wichtig?
| Uptime | Jährliche Ausfallzeit |
|---|---|
| 99 % | 3,65 Tage |
| 99,9 % | 8,7 Stunden |
| 99,99 % | 52 Minuten |
Das Ziel von Monitoring ist weniger die Erhöhung der Uptime, sondern vor allem die Reduzierung der MTTR (Mean Time To Recovery).
Mit Monitoring:
- Zeit zur Problemerkennung: 30–60 Sekunden
- Ohne Monitoring: Stunden
Kritische Metriken, die Überwacht Werden Müssen
| Metrik | Normal | Risiko | Kritisch |
|---|---|---|---|
| CPU | 20–60 % | 80 % | 95 % |
| RAM | 40–70 % | 85 % | 95 % |
| Disk-Nutzung | 50 % | 80 % | 90 % |
| Disk I/O-Wait | < 5 % | 10 % | 20 % |
| Load average | Anzahl CPU-Kerne | +50 % | 2x |
Beispiel:
- 2-vCPU-Server
- Load average = 4
- CPU = 95 %
→ Antwortzeit 200 ms → 1200 ms
Vergleich von Monitoring-Tools
| Tool | Typ | Kosten |
|---|---|---|
| Prometheus | Self-hosted | Kostenlos |
| Grafana Cloud | SaaS | Kostenpflichtig |
| Datadog | SaaS | Teuer |
| Zabbix | Self-hosted | Kostenlos |
| New Relic | SaaS | Kostenpflichtig |
Monitoring-Architektur
Server → Node Exporter → Prometheus → Grafana
↓
Alertmanager → Email / Telegram
Installationsschritte
Node Exporter
wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter.tar.gz
tar xvf node_exporter.tar.gz
cd node_exporter*
./node_exporter
Prometheus
wget https://github.com/prometheus/prometheus/releases/latest/download/prometheus-linux-amd64.tar.gz
tar xvf prometheus-linux-amd64.tar.gz
cd prometheus*
prometheus.yml
scrape_configs:
- job_name: "node"
static_configs:
- targets: ["localhost:9100"]
./prometheus --config.file=prometheus.yml
Grafana
sudo apt install grafana
sudo systemctl start grafana-server
Dashboard-ID: 1860 (Node Exporter Full)
Beispiel einer Alert-Regel
groups:
- name: cpu_alert
rules:
- alert: HighCPUUsage
expr: avg(rate(node_cpu_seconds_total{mode!="idle"}[5m])) > 0.85
for: 2m
labels:
severity: critical
annotations:
summary: "CPU usage yüksek"
Produktionsszenario (Vorher / Nachher)
Server:
- 4 GB RAM
- 2 vCPU
- 15.000 tägliche Zugriffe
| Metrik | Vorher | Nachher |
|---|---|---|
| Antwortzeit | 620 ms | 240 ms |
| Ausfallzeit | 3 Std/Mo. | 15 Min/Mo. |
| CPU-Spike | 50 Min. | 6 Min. |
| Disk-Absturz | 1x/Monat | 0 |
Warum die Verbesserung?
- Festplatten-Alert → Log-Bereinigung
- CPU-Alert → Bot-Blockierung
- RAM-Alert → Swap-Lösung
Risiken
| Fehler | Folge |
|---|---|
| Zu viele Alerts | Alert fatigue |
| Falscher Schwellenwert | Fehlalarm |
| Nur CPU überwachen | Disk-Absturz wird übersehen |
| Logs nicht überwachen | Root Cause nicht gefunden |
Wann Sollten Sie Monitoring Einrichten?
- Wenn Sie ein VPS verwenden
- Wenn Sie eine einnahmengenerierende Website haben
- Wenn der Traffic > 1.000/Tag beträgt
- Wenn Sie eine API / ein SaaS haben
Monitoring = Einnahmenschutzsystem.
CTA
Für die Einrichtung von Monitoring, Alerting und Server-Optimierung können Sie einen professionellen Server-Management-Dienst nutzen.