Cyberiada GmbH

Eine Gesellschaft zur Konstruktion rechnender Automaten und automatisierter Rechner

Sobald Software in Betrieb genommen wird, gehen wir davon aus, daß diese Software einen betrieblichen Zweck erfüllt und das deren Ausfall oder auch nur eine Leistungsminderung dazu führt, daß eine oder mehrere betriebliche Funktionen nicht mehr oder nicht mehr in der erforderlichen Qualität erbracht werden können. Ein solcher gestörter Zustand ist schnellstmöglich zu beheben, was notwendigerweise voraussetzt, von der Störung Kenntnis zu haben.

Systeme zu überwachen, Leistungsparameter auszuwerten und auf Abweichungen vom Sollzustand automatisiert zu reagieren oder den Fehlerzustand einem Alarmierungssystem zuzuführen ist die Aufgabe sogenannter Monitoring-Systeme. Wir – dies ist nicht allgemein akzeptiert, aber unseres Erachtens sinnvoll – unterscheiden hier zur groben Einordnung zwischen Verfügbarkeits-Monitoring, metrischem Last-Monitoring und Ereignis-Monitoring.

Verfügbarkeits-Monitoring

Das ältere Verfügbarkeits-Monitoring ist einfacher zu implementieren, zu warten und auszuwerten („da oder nicht da“). Wir haben hier in der Vergangenheit Systeme auf Basis von Icinga, CheckMK und Zabbix aufgesetzt und gewartet. Eine schwarz/weiß-Überwachung der Verfügbarkeit reicht für viele Anwendungsfälle nicht (mehr) aus und wird aus seit einigen Jahren durch ein metrisches Last- oder Performanz-Monitoring ersetzt.

Metrisches Last-Monitoring

Zum einen kündigen sich wie bei mechanischen Systemen auch bei IT-Systemen Ausfälle an, so daß man aus beobachteten Abfällen relevanter Metriken eine Prognose über einen zukünftigen Ausfall ableiten kann. Weiterhin sind Ausfälle und Störungen nicht schwarz/weiß: Es kann vorkommen, daß einzelne Komponenten so gestört oder so überlastet sind (grey failure), daß die Leistung des Systems nicht vollständig zum Erliegen kommt, das System trotzdem aus Nutzer- oder schlimmer noch Kundensicht unbrauchbar ist.

In stark verteilten und hoch automatisierten modernen Systemen muß ein Monitoring-System Lastmessungen einem Controller als Steuersignal zur Verfügung stellen. Ferner ist dort Verteilung und Replizierung dynamisch und erfordert ein Monitoring-System, Monitoring-Endpunkte mit einem Discovery-Mechanismus automatisch ermitteln zu können. Für solche Fälle empfehlen und verwenden wir System Prometheus, daß wir seit einigen Jahren mit Erfolg bei Kunden einbringen und betreiben.

Ereignis-Monitoring

Oft müssen Ereignisse wie fehlerhafte Passwort-Eingaben, der Login in bestimmte, besonders kritische Systeme, die Einleitung eines Reboots oder die Veränderung der Konfiguration meist aus Sicherheitsgründen gesondert überwacht werden. Dies kann in bestehenden Logging-Systemen realisiert sein – der Elastic-Stack ist ein Beispiel. Eine Ausleitung in ein metrisches Monitoring wie Prometheus kann für eine zeitliche Auswertung Vorteile bringen, hierfür haben wir bereits kleinere Applikationen entwickelt, Ereignis-Daten aus einem Kafka Message Stream in Prometheus-Metriken einem Alerting zuzuführen.

Monitoring -- Überwachung - Cyberiada GmbH