Ein stabiler und leistungsfähiger Linux-Serverbetrieb erfordert regelmäßige Kontrolle des Systemzustands. Automatisierte Health Checks helfen dabei, Probleme frühzeitig zu erkennen, Ressourcenengpässe zu vermeiden und die Serververfügbarkeit sicherzustellen. In diesem Tutorial zeigen wir, wie tägliche Status-Skripte aufgebaut werden können, welche Metriken relevant sind und wie Alerts bei Abweichungen generiert werden.
Wichtige Parameter für System Health Checks
Ein umfassendes Monitoring erfasst mehrere Ebenen des Systems, darunter CPU, Speicher, Festplatten, Netzwerk und Dienste. Die wichtigsten Parameter sind:
- CPU-Auslastung und Load Average
- RAM- und Swap-Nutzung
- Festplattenkapazität und Inode-Status
- Laufende Prozesse und Zombie-Prozesse
- Status von Systemdiensten (z.B. SSH, Webserver, Datenbanken)
- Netzwerkstatistiken (z.B. offene Ports, Paketverlust)
- System-Logs auf kritische Einträge prüfen
CPU und Load Monitoring
Die CPU-Auslastung gibt Aufschluss über die Systemlast und mögliche Engpässe. Die Load Average Werte zeigen, wie viele Prozesse gleichzeitig laufen.
Abfrage mit CLI
uptime
top -b -n 1 | head -n 10
mpstat 1 1
Die Ausgabe von uptime zeigt den Load Average der letzten 1, 5 und 15 Minuten. mpstat liefert detaillierte CPU-Statistiken pro Kern.
Speicher- und Swap-Überwachung
RAM- und Swap-Nutzung sind entscheidend für die Performance. Zu hohe Swap-Nutzung deutet auf Speichermangel hin.
Abfrage mit CLI
free -h
vmstat 1 5
free -h zeigt RAM und Swap übersichtlich in human-readable Form. vmstat liefert historische Werte über mehrere Intervalle.
Festplatten-Status prüfen
Festplattenplatz und Inodes sind kritische Ressourcen. Ein volles Dateisystem kann Dienste lahmlegen.
Abfrage mit CLI
df -h
df -i
df -h zeigt belegten und freien Speicherplatz, df -i überprüft die Inode-Auslastung.
Prozess- und Dienstestatus
Systemdienste sollten kontinuierlich überwacht werden, um Ausfälle sofort zu erkennen.
Dienste prüfen
systemctl status sshd
systemctl is-active apache2
Mit ps aux --sort=-%cpu | head -n 10 lassen sich die Top-CPU-Verbraucher auflisten.
Netzwerk-Health Checks
Netzwerkprobleme wirken sich direkt auf die Erreichbarkeit von Diensten aus. Offene Ports, Verbindungen und Paketverluste sollten regelmäßig überprüft werden.
Netzwerk prüfen
ss -tuln
ping -c 4 8.8.8.8
traceroute example.com
Logs analysieren
System-Logs enthalten wertvolle Hinweise auf Fehlfunktionen oder Sicherheitsvorfälle. Besonders /var/log/syslog und /var/log/auth.log sind relevant.
Beispielanalyse
journalctl -p 3 -n 50
grep -i "failed" /var/log/auth.log
Mit -p 3 werden nur kritische Einträge angezeigt. grep filtert fehlgeschlagene Login-Versuche.
Automatisierte Health Check Skripte
Ein Bash-Skript kann alle wichtigen Checks zusammenfassen und als Cron-Job täglich ausführen.
Beispiel-Skript
#!/bin/bash
echo "== CPU & Load ==" > /var/log/daily_health.log
uptime >> /var/log/daily_health.log
echo "== Memory ==" >> /var/log/daily_health.log
free -h >> /var/log/daily_health.log
echo "== Disk Usage ==" >> /var/log/daily_health.log
df -h >> /var/log/daily_health.log
df -i >> /var/log/daily_health.log
echo "== Top Processes ==" >> /var/log/daily_health.log
ps aux --sort=-%cpu | head -n 10 >> /var/log/daily_health.log
echo "== Services ==" >> /var/log/daily_health.log
systemctl is-active sshd >> /var/log/daily_health.log
systemctl is-active apache2 >> /var/log/daily_health.log
Alerts und Benachrichtigungen
Für kritische Werte können E-Mail-Benachrichtigungen oder Slack-Alerts eingerichtet werden.
E-Mail Beispiel
THRESHOLD=80
USAGE=$(df / | tail -1 | awk '{print $5}' | sed 's/%//')
if [ "$USAGE" -gt "$THRESHOLD" ]; then
mail -s "Disk Alert" admin@example.com <<< "Root partition usage is ${USAGE}%"
fi
Integration mit Monitoring-Systemen
Health Check Skripte können als Input für Nagios, Zabbix oder Prometheus dienen, um Dashboards und automatisierte Alarme zu generieren.
Beispiel: Prometheus Node Exporter
# Installation
sudo apt install prometheus-node-exporter
# Starten
sudo systemctl enable --now prometheus-node-exporter
Fazit
Tägliche Health Checks bilden die Basis für stabile Linux-Server. Durch automatisierte Skripte, Alerts und Integration mit Monitoring-Systemen können Ressourcenprobleme frühzeitig erkannt und Sicherheitsrisiken minimiert werden. Dies gewährleistet eine hohe Verfügbarkeit und eine zuverlässige Performance in professionellen Serverumgebungen.
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.











