Verteiltes Monitoring für die eigene IT-Infrastruktur
Ausgangssituation
Ich betreibe rund 25 Dienste auf unterschiedlichen Systemen: einem lokalen Raspberry Pi, zwei VPS sowie externen Plattformen wie Netlify. Dazu gehören Webseiten, Backups, IoT-Sensoren, Cloudflare-Tunnel, VPN-Verbindungen und weitere Infrastrukturkomponenten.
Die Herausforderung: Wenn ein Dienst ausfällt oder eine Verbindung unterbrochen wird, muss ich das zuverlässig mitbekommen. Gesucht war ein schlankes, einfach zu wartendes Monitoring, das unterschiedliche Prüfungen unterstützt und über mehrere Server verteilt betrieben werden kann, ohne dafür eine umfangreiche Monitoring-Plattform aufzubauen.
Die Lösung
Mit Simple Monitor setze ich ein verteiltes Monitoring auf, das genau auf diese Anforderungen zugeschnitten ist. Ein zentraler Dienst auf einem VPS übernimmt die Zusammenführung der Überwachung, während auf zwei weiteren Servern Remote-Instanzen laufen, die sich mit dem Hauptdienst verbinden.
Überwacht werden unter anderem Webseiten einschließlich Inhaltsprüfung per regulärem Ausdruck, TLS-Zertifikate, laufende Dienste wie Docker, VPN-Tunnel, Rclone-Remotes für Backups und die Erreichbarkeit von IoT-Sensoren.
Ein besonderer Vorteil ist die Erweiterbarkeit über Shell-Skripte. Damit lassen sich auch individuelle Prüfungen integrieren, für die kein fertiger Monitor existiert. Beispielsweise wird kontrolliert, ob ein Backup-Prozess regelmäßig ein Log speichert.
Die Überwachung selbst wird ebenfalls überwacht: Da der Simple-Monitor-Dienst gelegentlich abstürzt und dadurch die Statusanzeige nicht mehr aktualisiert wird, prüft ein zusätzlicher n8n-Workflow die Aktualität der Daten und informiert bei Problemen per Telegram.
Technischer Aufbau
- Simple Monitor: Zentrale Monitoring-Anwendung mit Unterstützung für unterschiedliche Prüfungen und Remote-Instanzen.
- Verteilte Architektur: Ein Hauptdienst auf einem VPS und zwei Remote-Instanzen auf weiteren Servern.
- Apache: Stellt die Monitoring-Oberfläche über den Webserver bereit.
- mTLS und eigene CA: Der Zugriff wird über gegenseitige TLS-Zertifikatsprüfung abgesichert. Ein Client-Zertifikat ermöglicht den Zugriff ohne separate Login-Maske oder Basic Authentication.
- Integrierte und eigene Checks: Überwachung von HTTP-Inhalten, TLS-Zertifikaten, Diensten, VPN, Backups und IoT-Endpunkten; individuelle Prüfungen werden bei Bedarf über Shell-Skripte umgesetzt.
- Telegram: Simple Monitor versendet Benachrichtigungen bei erkannten Problemen.
- n8n: Kontrolliert zusätzlich, ob die Monitoring-Daten regelmäßig aktualisiert werden, und meldet einen möglichen Ausfall des Monitoring-Dienstes.
Ergebnis und Nutzen
Mit einer schlanken Lösung überwache ich rund 25 Dienste über mehrere Server und unterschiedliche Betriebsumgebungen hinweg. Statt für jede Komponente ein eigenes Monitoring aufzubauen, bündelt Simple Monitor die Prüfungen in einer zentralen Übersicht und unterstützt gleichzeitig individuelle Anforderungen über Skripte.
Die Kombination aus Remote-Instanzen, mTLS und Telegram-Benachrichtigungen ermöglicht eine verteilte Überwachung mit abgesichertem Zugriff und direkter Information bei Störungen. Der zusätzliche n8n-Workflow berücksichtigt außerdem eine wichtige Schwachstelle: Ein Monitoring-System muss nicht nur Ausfälle anderer Dienste erkennen, sondern auch seine eigene Funktionsfähigkeit kontrollieren.
Der Mehrwert: Unterschiedliche Systeme und Dienste werden mit überschaubarem Aufwand überwacht. Individuelle Prüfungen lassen sich flexibel ergänzen, und Ausfälle können zeitnah gemeldet werden – einschließlich eines möglichen Stillstands der Monitoring-Anwendung selbst.
Technologien
Simple Monitor · Linux · Apache · mTLS · X.509 · eigene Certificate Authority · Shell-Skripte · n8n · Telegram · Docker · Rclone · Cloudflare Tunnel
Zurück2026-10-25 06:25