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.
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.
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.
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
Google Cloud Operations
Terraform
Google Cloud
Kontakt
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.