Aufbau einer automatisierten Überwachung mit Icinga und ilert
Wie viele Server von einem Systemadministrator verwaltet werden können, ist eine ziemlich schwierige Frage zu beantworten, da es entscheidend von den Aufgaben abhängt, die betrieben werden müssen. Es ist jedoch klar, dass die Anzahl der von einem Ingenieur verwalteten Server im Laufe der Zeit enorm gestiegen ist und weiter wächst. Öffentliche und private Clouds in Kombination mit Automatisierungstools ermöglichen es uns, viele tägliche Aufgaben zu automatisieren. In einer modernen IT-Infrastruktur kann fast alles automatisiert werden, von der Erstellung einer neuen Instanz bis hin zur Bereitstellung von Software. In diesem gesamten Szenario ist automatisierte Überwachung eine wesentliche Komponente.
Einführung in Icinga
Icinga ist ein unternehmensfertiges Open-Source-Überwachungstool. Es hilft Ihnen herauszufinden, was in Ihrer Infrastruktur funktioniert und was nicht. Icinga kann in kleinen Umgebungen genauso gut eingesetzt werden wie in großen Organisationen. Hochverfügbare und verteilte Cluster können mit den integrierten Mechanismen erstellt werden. Die Kommunikation zwischen Servern und Agenten ist immer SSL-verschlüsselt. Wenn etwas in Ihrer Umgebung nicht wie erwartet funktioniert, benachrichtigt Sie Icinga über Ihre bevorzugten Kanäle.
Wie hilft mir Icinga, meine Überwachung zu automatisieren?
Viele Server bedeuten viele Dinge, die überwacht werden müssen. In einer kleinen Umgebung kann dies mit manueller Konfiguration erreicht werden. Größere Umgebungen benötigen jedoch klar Automatisierung. Icinga verfügt über eine leistungsstark konfigurierte DSL, die es Ihnen ermöglicht, Ihre Hosts zu beschreiben und auszudrücken, was genau Sie überwachen möchten und wie Sie benachrichtigt werden möchten. Ihre Konfiguration wird auf einem zentralen Knoten verwaltet und automatisch an alle verbundenen Server und Agenten verteilt. Darüber hinaus stehen Module, Cookbooks und Rollen für die gängigsten Konfigurationsverwaltungstools Puppet, Chef und Ansible zur Verfügung.
Da die Konfigurationsautomatisierung nicht immer ausreicht, kann Icinga mit dem Director-Modul erweitert werden. Dieses Modul fügt die Möglichkeit hinzu, Konfigurationen über die Web-Schnittstelle zu ändern. Noch wichtiger ist, dass der Director die Fähigkeit hat, Daten aus verschiedenen Datenquellen zu importieren und sie in Icinga-Konfigurationen zu transformieren. Datenquellen können potenziell alles sein, vorimplementierte Quellen sind Active Directory, MySQL, PuppetDB, vSphere und viele mehr. Die Kombination von Daten aus Ihren vorhandenen Tools, wie z. B. einer CMDB oder einer Benutzerdatenbank, mit frischer Konfiguration ist die Meisterklasse der Überwachungsautomatisierung.
Behandlung von Benachrichtigungen
Viele Server, viel Überwachung, viele Daten. Dies führt zweifellos zu vielen Benachrichtigungen, die genau bearbeitet werden müssen. Bei jeder Benachrichtigung führt Icinga einen dedizierten Benachrichtigungshandler aus. Mit dieser Funktion ist es möglich, Benutzer über fast jeden Kanal zu benachrichtigen und Raum für viele Integrationen zu lassen. Ein sehr beliebter Benachrichtigungskanal ist ilert. Icinga kann alle Benachrichtigungen, angereichert mit einer Vielzahl von Daten, direkt an ilert weiterleiten.
Die Bewältigung einer großen Anzahl von Benachrichtigungen ist überhaupt nicht einfach - hier kommt ilert ins Spiel. Wenn viele Server verwaltet werden müssen, wird die Arbeit in der Regel auf mehrere Teams aufgeteilt. Es ist nicht ungewöhnlich, dass diese Teams auf der ganzen Welt verteilt sind. Die Weiterleitung von Benachrichtigungen wird zu einem Schlüsselelement der Überwachungsherausforderung. ilert bringt alle Fähigkeiten mit, um Teams, Eskalationen, Bereitschaftsdienste und vieles mehr zu verwalten.
Alarme und Benachrichtigungen bei Bedarf
Die schiere Anzahl von Alarmen ist für ilert überhaupt kein Problem. Wenn Sie jedoch viele Alarme haben, möchten Sie möglicherweise definieren, wie Benachrichtigungen gesendet werden sollen. Die Funktion "Alarmkanäle" von ilert ist das perfekte Komponente dafür. ilert bietet mehrere Alarmkanäle, über die Sie einen Vorfall auf dem gleichen Kanal bestätigen oder eskalieren können.
Zu den Alarmkanälen gehören:
- Push-Benachrichtigungen über die native ilert-App für iOS oder Android
- Internationale Telefonanrufe und SMS
- Slack und Microsoft Teams
- Webhooks
- Auslösen serverloser Funktionen auf AWS, GCP oder Azure
Wie integriere ich Icinga und ilert
Die Integration von ilert mit Icinga erfordert Icinga 2.x und Python 2.7.3 (oder höher). Sie müssen einen zusätzlichen API-Schlüssel erstellen und ihn einem Kontakt auf Ihrem Icinga-Server zuordnen, um Ihre Alarme direkt an ilert zu senden. Lesen Sie für detaillierte Informationen die Integrationsdokumentation und stellen Sie Fragen in der Icinga-Community für Hilfe.
Hinweis: Dies ist ein Gastbeitrag der netten Leute von Icinga.