cc.systems logo

gb flag

Monitoring externer Systeme

Wie kann man über einen Ausfall alarmiert werden, wenn das zu überwachende System keinen festen Arbeitszeiten folgt und sogar in die Mittagspause geht 🍜?

Pascal L.

Pascal L.

01.08.2023

Für den Geschäftsbetrieb vieler Unternehmen ist es unerlässlich, die eigenen und auch externe Systeme zu monitoren. Doch was tun, wenn ein externes System zu nicht definierten Zeitpunkten die Kommunikation einstellt, aber es sich dabei gar nicht um einen Ausfall handelt? Wie können Fehlalarme vermieden werden?

Die Challenge

Für einen unserer Kunden haben wir ein Backoffice und ein Backend entwickelt. Das Backoffice unterstützt bei verschiedenen Geschäftsprozessen und wird mit Daten über das Backend versorgt. Das Backend spricht mit dem Warenwirtschaftssystem (ERP) des Kunden und weiteren externen Schnittstellen.

Schematische Darstellung der Systemlandschaft

Nun wurden wir mit dem Problem konfrontiert, dass das ERP über Nacht herunterfährt; zur Unterhaltung aller Beteiligten verabschiedet es sich sogar täglich in die Mittagspause. Für den reibungslosen Geschäftsbetrieb ist es notwendig zu erkennen, wenn die Kommunikation mit dem ERP ausfällt, ohne dabei mehrmals täglich Fehlalarme auszulösen.

Was macht es schwierig?

Das Backend läuft in der Google Cloud und wir verwenden OpenTelemetry, um zusätzliche Metriken an Google Cloud Monitoring (ehemals Stackdriver) zu senden. Wir sind somit in der Lage, den Traffic sehr genau  zu analysieren. Das ERP fängt täglich zwischen 5 Uhr und 7 Uhr an, mit dem Backend zu kommunizieren. Abgesehen von einer kleineren Pause zur Mittagszeit stoppt der Datentransfer täglich zwischen 16 Uhr und 22 Uhr. Das verhindert, dass wir das Alerting einfach nur zu bestimmten Zeiten aktiv schalten, da wir grob innerhalb von einer Stunde alarmiert werden wollen, wenn es zu einem Ausfall kommt.

Der Trick

Wir haben festgestellt, dass der Traffic des ERP stark mit den Requests auf der Backoffice-API korreliert. Darüber können wir die Zeiten ermitteln, zu denen das ERP aktiv sein sollte. Sobald wir feststellen, dass die Backoffice-API aktiv ist, was auf die Arbeitsaktivität der Mitarbeitenden hindeutet, erwarten wir auch Requests von der Warenwirtschaft.

blog external systems metrics

Mit der richtigen Wahl des rollierenden Zeitfensters (alignment period) lassen sich kurze Übertragungspausen glätten. In diesem Fall lässt sich damit die Mittagspause der Warenwirtschaft überbrücken. Ein Dauerfenster (retest window) verhindert, dass ein Alarm aufgrund einer einzelnen Messung ausgelöst wird. Dies hilft in den Grenzbereichen, da der Traffic auf der Backoffice-API nicht gleichzeitig mit dem der Warenwirtschaft  startet und stoppt.

Fazit

Wenn es ein System gibt, welches nur zu Geschäftszeiten überwacht werden muss, kann man gut eine Metrik zur Kontrolle verwenden, die mit der Nutzung des Produkts korreliert. Das Einrichten eines solchen Überwachungs- und Alarmierungssystems kann eine Herausforderung sein, aber es ist entscheidend für die Gewährleistung eines reibungslosen Betriebs. In unserem Fall ermöglicht es uns, schnell zu handeln und Ausfallzeiten zu minimieren. Durch die Kombination von Monitoring, Analytics und intelligentem Alerting können wir sicherstellen, dass schnell auf Probleme reagiert werden kann und Services zuverlässig arbeiten. Wir beraten euch gerne zu Entwicklung, Betrieb und Monitoring von Cloud-Anwendungen. Kontaktiert uns einfach!

Technologien

OpenTelemetry

OpenTelemetry

Google Cloud Operations

Google Cloud Operations

Terraform

Terraform

Google Cloud

Google Cloud

Kontakt

Cal.com preview image
Cal.com preview image

Damit du einen Termin buchen kannst, wird ein externer Kalender von Cal.com geladen.
Mit dem Button stimmst du auch den Cookies von Cal.com zu.

Für Details, schaue in unsere Datenschutzerklärung.

cc.systems logo

© 2024 cc.systems GmbH, Hamburg