IT-Infrastrukturen sind diverse und manigfaltig in ihrer Form und Größe und befinden sich stetigen Wandel. Services die auf diesen Infrastrukturen bereitgestellt werden, werden immer wichtiger und müssen ständig verfügbar sein. Neben der Strategie beim Design der Infrastrukturen und Services spielt natürlich auch das Reporting und die Sichtbarkeit eine wichtige Rolle beim Betrieb dieser Landschaften. In diesem Artikel, der Teil Eins einer Reihe sein wird, beschäftigen wir uns mit der Sichtbarkeit und warum diese so wichtig und somit ein Grundstein im IT-Betrieb ist.
Sichtbarkeit in der IT ist maßgeblich für alle angebunden Services und deren Nutzer.
„Nur wer sieht was los ist, kann (im besten Fall) reagieren
bevor etwas passiert oder direkt nach dem Eintreten der Vorfalls handeln.“
Rollout einer zeitgemäßen Monitoringplattform
In einem Kundenprojekt standen wir vor der Aufgabe eine bestehende Monitoringlösung, die modernen Anforderungen nicht mehr genügte, abzulösen. Die neue Lösung sollte dabei:
- Hochverfügbar auf allen Ebenen sein, da es das Kernstück der gesamten Serviceerbringung sein soll
- Das alte Monitoringsystem modernisieren und moderne Technologien unterstützen
- Ein hohes Maß an Automatisierung mit Dritt-Tools unterstützen
- Auch beim Monitoring von 150.000 Sensoren noch performant sein
Gemeinsam mit dem Kunden evaluierten wir zum einen den Technikstack, welcher auf der OpenSource Lösung Zabbix basieren soll, sowie den Aufbau der Umgebung im höchst möglichen Hochverfügbarkeitsmodus. Weiter wurde ein Projekt zur Migration sämtlicher bestehender Sensoren aus dem Alt-System sowie neuen Überwachungsmethodiken geplant, gestartet und gemeinsam erfolgreich durchgeführt.
Automatisierung als ständiger Projektbegleiter
Dabei war der Grundsatz „If you do it twice, automate it!“ ständiger Begleiter im Projekt und sämtliche Schritte im Rollout der neuen Monitoringplattform, sowie die Erkennung von Hosts, das Hinzufügen von Kundenumgebungen und der Rollout der Proxysysteme wurden vollständig automatisiert.
Aufbau der Umgebung
Gemeinsam mit dem Kunden entwickelten wir eine Umgebung, in der alle Komponenten von Zabbix redundant ausgelegt worden sind. Die Frontendsysteme werden dabei über Loadbalancer angesprochen und somit ist der Zugriff auf die graphische Oberfläche von Zabbix auch möglich, wenn mal ein Webserver nicht zur Verfügung steht, auch der Zabbix-Server-Service und die Zabbix-Datenbank laufen in einem Clusterbetrieb und sorgen so für eine höchstmögliche Erreichbarkeit der einzelnen Services. Da die Zabbixinstallation in einer eigenen Umgebung mit einem seperaten Netzen erfolgt ist, müssen sämtliche Zugriff über die Firewall freigegeben werden. Auch Zugriffe der externen Umgebungen, welche Überwacht werden sollen, sind über div. Firewall und Routinginstanzen von einander getrennt. Hier kommen die Zabbix-Proxies ins Spiel. Diese ermöglichen neben einer Last-Verteilung auch das Abfragen von entfernten Umgebungen über eine zentrale und verschlüsselte Kommunikation.
Installation und Rollout
In CLOUDSUPPLIES treibt uns ein Grundsatz der IT maßgeblich an: „If you do it twice, automate it!“ -> Machst du etwas zweimal, dann automatisier es. Im Kundenprojekt sind wir sogar einen Schritt weiter gegangen. Denn hier war das Ziel sämtliche Schritte in der Installation sowie Konfiguration der Zabbix-Komponenten zu automatisieren. Der Ansatz der Automatisierung geht noch weiter, nicht nur die Installation und erneute Bereitstellung einer kompletten Zabbix-Umgebung wie sie in der Abbildung zu sehen ist, wurde via Ansible vollautomatisiert, sondern auch die Pflege der Zabbix-Infrastruktur ist vollautomatisiert worden.
So lässt sich ein neuer Kunde, welcher in der Monitoringumgebung überwacht werden soll, durch Angabe von div. Parametern mit einer Proxy-Umgebung ausrollen und die Kundenumgebung in die Überwachung aufnehmen. Hierfür wird ebenfalls Ansible und einige technischen Mittel aus der Monitoringlösung Zabbix genutzt. So wird der Proxy in der Kundenumgebung installiert und fertig konfiguriert und automatisch im Zabbix angelegt und eingerichtet. Anschließend werden sämtliche Kundenparameter, die das Monitoring benötigt, sowie entsprechende Discovery-Mechanismen automatisch konfiguriert.
So kann im Falle eines K-Falls, also zum Beispiel eines kompletten Ausfalls der Umgebung, welcher einen Restore oder Neubau der Umgebung erforderlich macht, einfach der Automatisierungsmechanismus gestartet werden und die Umgebung wird gänzlich neu aufgebaut und fertig konfiguriert.
Wartung und Pflege
Bei einer solchen komplexen Installation samt Testumgebung, welche einen kompletten Parallelaufbau darstellt, fällt natürlich viel Aufwand bei der Wartung und Pflege an, hierfür haben wir ebenfalls automatische Mechanismen via Ansible etabliert, wodurch der Aufwand auf ein Mindestmaß reduziert und die Handhabung vereinfacht wird.
Überwachung – Automatisiert
Wir hoffen dieser Artikel hat Ihnen einen Eindruck vermitteln können, was mit Zabbix als Monitoringplattform (auch im Enterprise-Umfeld) alles möglich ist und das man dieses System auch bedenkenlos in großen Umgebungen aufbauen kann.
Im nächsten Artikel der Monitoring-Reihe schauen wir uns die genutzten Möglichkeiten für Server-, System- und Applikationsüberwachung an. Welche Methoden verwenden wir, um Systeme und Software zu erkennen und automatisiert in die Überwachung zu bringen? Was kann Zabbix dabei selbst und was haben wir zusätzlich entwickelt?