Usecase
Überwachung von Servern und Netzwerken mit Docker
Kunde
Ein führender IT-Serviceanbieter.
Ausgangslage
Unser Kunde stand vor der Herausforderung, seinen Kunden einen Managed Service anzubieten, der eine effiziente Überwachung von Servern und Netzwerken ermöglicht. Die bisherige Lösung basierte auf der Implementierung eines Monitoring-Servers als virtuelle Maschine (VM), deren Export-Datei mehrere Gigabyte groß war. Der Prozess der Serverkonfiguration erwies sich jedoch als umständlich und zeitaufwändig, was zu einer Suche nach einer verbesserten Lösung führte. Als Antwort hierauf entschieden wir uns für die Einführung von Docker.
Herausforderungen
Im Rahmen des Managed Service wurde bei jedem Kunden ein Monitoring-Server eingesetzt, um die Überwachung von Servern und Netzwerken zu gewährleisten. Diese Monitoring-Server wurden in Form von virtuellen Maschinen bereitgestellt und verlangten regelmäßige Updates. Der Prozess der Implementierung und Konfiguration war kompliziert und umfasste das Kopieren der VMs und deren Versand an die Kunden per FTP-Server. Anschließend mussten die VMs beim Kunden individuell an das Kundennetzwerk angepasst werden, einschließlich der Zuweisung einer IP-Adresse, Zertifikaten und anderer spezifischer Konfigurationen für verschiedene Dienste.
Lösung
Um die Herausforderungen zu bewältigen und die Effizienz des Prozesses zu verbessern, entschieden wir uns für die Einführung von Docker.
Die Umsetzung erfolgte in mehreren Schritten:
- Linux-Installation
Für die Basis-Installation wurde ein Linux-Minimalsystem auf den Servern verwendet, um ausschließlich die notwendigsten Dienste auszuführen. - Docker-Installation
Docker, eine Open-Source-Plattform für die Containerisierung von Anwendungen, wurde auf den Servern installiert. - Erstellung eines Skripts
Wir entwickelten ein spezielles Skript, das alle notwendigen Informationen sammelte, um eine automatisierte Konfiguration des Kunden-Monitoring-Servers durchzuführen. Auf Basis dieser Informationen konnten die Docker-Container für die verschiedenen Komponenten des Monitoringsystems konfiguriert und gestartet werden. - Monitoring mit Icinga und Grafana
Als eigentliches Monitoring-System wurde Icinga in Form eines Docker-Containers eingesetzt. Icinga lieferte die erforderlichen Überwachungsdaten und führte Skripte in regelmäßigen Abständen aus. Die erfassten Daten wurden in InfluxDB gespeichert und mittels Grafana visualisiert. - Logmanagement mit Graylog
Für das Log-Management wurden Docker-Container mit Graylog und Elasticsearch
eingesetzt.
Nutzen für den Kunden
Die Implementierung von Docker als Lösung für das Kunden-Monitoring bringt zahlreiche Vorteile mit sich:
- Schnellere Konfiguration: Der gesamte Prozess der Kunden-Monitoring-Server-Konfiguration wird erheblich beschleunigt, da das Skript die manuellen Schritte eliminiert.
- Fehlerunanfälligkeit: Da das Skript immer dieselben Schritte ausführt und auf Docker-Containern basiert, werden potenzielle Fehlerquellen durch manuelle Eingriffe minimiert.
- Prozessoptimierung: Der Einsatz von Docker ermöglicht eine reibungslose Übergabe des Monitoringsystems zwischen den Teams. Die Konfiguration ist standardisiert und bereitet keine Probleme mehr, die durch individuelle Anpassungen entstehen.
- Vereinfachte Skalierung: Durch die Verwendung von Docker-Containern können wir das Monitoring-System leicht skalieren und bei Bedarf zusätzliche Ressourcen hinzufügen.
- Verbesserte Weiterentwicklung und Zusammenarbeit: Updates und Weiterentwicklung an der Monitoring-Lösung sind erheblich einfacher, da der Quellcode einfach im Git verwaltet werden kann. Dadurch können mehrere Personen gleichzeitig an der Weiterentwicklung arbeiten und die Versionen jederzeit getrackt werden.
Zusammenfassung
Die Einführung von Docker als Lösung für das Kunden-Monitoring-System ermöglicht unserem Kunden eine erhebliche Optimierung des Prozesses. Der Service kann schneller bereitgestellt werden, Fehler werden minimiert, und die Prozessoptimierung führt zu einer effizienten Übergabe des Systems innerhalb des Unternehmens. Die Verwendung von Docker-Containern macht den Service skalierbarer und flexibler. Die Implementierung von Docker erweist sich daher als wichtiger Schritt zur Steigerung der Effizienz und Verbesserung des Kundenservice bei unserem Kunden.
Anpassung an Kundenbedürfnisse: Obwohl der Prozess effizienter ist, müssen wir dennoch auf die unterschiedlichen Anforderungen unseres Kunden eingehen, insbesondere wenn spezielle Anpassungen des Monitoringsystems erforderlich sind.
Komplexität der Abstimmung: Die Abstimmung aller Komponenten innerhalb der Docker-Container erforderte eine sorgfältige Planung und Implementierung, um sicherzustellen, dass das Gesamtsystem reibungslos funktioniert.
Die Einführung von Docker als Lösung für das Kunden-Monitoring-System ermöglicht unserem Kunden eine erhebliche Optimierung des Prozesses. Der Service kann schneller bereitgestellt werden, Fehler werden minimiert und die Prozessoptimierung führt zu einer effizienten Übergabe des Systems innerhalb des Unternehmens. Die Verwendung von Docker-Containern macht den Service skalierbarer und flexibler.