Der OpenAdvice Blog

Mittwoch, 07. April 2021

Wie kann ein Musikplayer bei Störungen aus der Vergangenheit helfen?

Montag 09:00, Network Operation Center. Wochenbesprechung. Es gab eine Störung am Wochenende, die nicht richtig erkannt und deswegen zu spät bearbeitet wurde. „Schon hundertmal habt ihr das falsch gemacht, wieso versteht ihr nicht, was hier zu tun ist?“, fragt der Chef. „Wir wissen nicht, woran man die Situation erkennen kann. Wie hätten wir denn da bitte besser reagieren sollen? Ich würde ja gerne mal sehen, wie Sie die Situation bearbeitet hätten.“ antwortet der Mitarbeiter.

Szenenwechsel. Pre-Sales Meeting zur Beantwortung einer Ausschreibung. Dem Kunden sollen 2.000 Services bereitgestellt und diese auch überwacht werden. Der Sales-Chef fragt den Betriebsleiter: „Kann unsere Lösung das stemmen? Wie lange rechnet denn die Maschine aktuell, wenn alles ausfällt? Müssen wir hier aufstocken oder fallen da keine Systemkosten an?“ „Woher soll ich das bitte wissen? Das kommt ja so selten vor, weil man da ein paar spezielle Ereignisse gleichzeitig bräuchte, die zusammen selten auftreten. Man müsste sowas mal simulieren...“

Zurück im Network Operation Center, der Chef ist wieder im Büro, der Betrieb geht weiter. Ein Kunde ruft an. „Vorletzte Woche Mittwoch wurde mir mein Service als ausgefallen gemeldet, aber ich habe den ganzen Tag damit gearbeitet. Gibt es hier einen Fehler im Meldesystem?“. Der Mitarbeiter versucht die Logdateien zu analysieren aber stellt fest, dass der älteste verfügbare Eintrag von letzter Woche ist. „Das kann ich heute leider nicht mehr nachvollziehen, das müssen wir beobachten und schauen, ob das nochmal vorkommt. Bitte melden Sie sich dann nochmal.“ ist hier die unbefriedigende Antwort an den Kunden. Der Kunde ist nicht erfreut. „Kann man das nicht nachstellen?“

Eine Etage darüber grübelt das Engineering. Es gibt eine angepasste Alarmierungsintegration für ein Gerät und die soll abgenommen werden. Um die Freigabe erteilen zu können, muss geprüft werden, ob die Alarmierung der neuen Software sich genauso verhält wie die alte. Der Mitarbeiter bootet ein Testgerät und zieht ein paar Kabel, die Alarme sehen gut aus. „Was ist mit den restlichen Alarmen, bisher haben wir nur 6 von 40 getestet?“ fragt sein Kollege. „Keine Ahnung, die kann ich nicht erzeugen. Wird schon passen...“

Das alles sind Situationen, wie wir sie sehr häufig von unseren Kunden berichtet bekommen und alle laufen auf die gleiche Frage hinaus „Warum kann man vergangene oder fiktive Alarmsituationen nicht simulieren?“. In unserer immer schneller und automatisierter werdenden IT-Landschaft wird es immer schwieriger, den Überblick zu behalten und einen reibungslosen Betrieb sicher zu stellen. Schulungen behandeln oft keine real vorkommenden Fehler und echte Fehler haben meist gleich verheerende Auswirkungen wie Imageverlust oder sogar Vertragsstrafen.

Also haben wir uns dem Problem angenommen. Zuerst haben wir nachgefragt, wie eine solche Simulation funktionieren soll und was die Kernfunktionen sein sollen. Dabei kamen folgende Eckpunkte zusammen:

  • Es sollen Alarme aus der Alarmhistorie wieder einspielbar sein
  • Man soll jeden Alarmzustand auswählen können, nicht nur den ersten oder letzten. Details sind hier wichtig
  • Es sollen nicht nur einzelne Alarme eingespielt werden können, sondern man soll sich mit einem „Baukasten“ Simulationen zusammenstellen können. Reihenfolge und Zeitabstände sollen einstellbar sein
  • Diese Simulationen soll man sich abspeichern können
  • Die Alarme sollen abgeändert werden können
  • Die Oberfläche, die die Simulation steuert, soll intuitiv und einfach sein, „Wie ein Musikplayer!“
  • Die Voraussetzungen sollen so gering wie möglich sein, die Installation sollte einfach sein

Also haben wir uns hingesetzt und agil mit den Kunden zusammen eine Lösung entwickelt. Nach wenigen Sprints war das Paket reif für den Einsatz. Herausgekommen ist eine Web-Applikation mit einem kleinen JavaScript Backend, die sich einfach per Docker-Container auf einem System installieren lässt. Die Verbindungsdaten müssen in einer einzigen Konfigurationsdatei abgelegt sein. Und dann geht es schon los, die Webseite kann aufgerufen werden und die Applikation läuft komplett unabhängig:

Es kann per Zeitfilter ein Bereich aus der Alarmhistorie geladen werden. Zu jedem Alarm kann der komplette Verlauf abgerufen werden. Relevante Meldungen können per Drag und Drop in das rechte Fenster gezogen werden. So entsteht unsere Alarmsimulation:

Die Reihenfolge kann beliebig geändert werden. Es können Zeitelemente eingefügt werden, entweder automatisch basierend auf den echten Alarmen oder manuell. So kann eine Situation exakt so wiedergegeben werden, wie sie passiert ist. Alternativ kann man Blocker einfügen, bei denen auf Nutzerinteraktion gewartet wird. So können gezielt Schulungspausen erzeugt werden. Jeder Alarm kann editiert werden. Für eine erhöhte Übersicht, kann zwischen den zwei Schritten „Eventselektion“ und „Eventeditierung“ hin- und hergesprungen werden:

Oben befindet sich die Steuerung. Hier können Simulationen gespeichert und geladen werden und hier befindet sich auch der „Musikplayer“, der für das Einspielen relevant ist. Man kann mit Play das Einspielen starten, mit Pause anhalten, Zeilen überspringen, in der Playlist zurückgehen. Man kann nur ein „Lied“ abspielen oder die ganze Liste durchlaufen lassen, eben wie bei einem Musikplayer. Was erledigt ist, wird grün angezeigt, der aktuelle Schritt ist grau:

In Zukunft kann der Chef des NOC also auf die Frage „Ich würde ja gerne mal sehen, wie Sie die Situation bearbeitet hätten“ antworten „Komm nachher in mein Büro, ich erstelle uns eine Simulation und dann gehen wir sie zusammen durch“. Der Betriebsleiter kann seinem Pre-Sales Kollegen sagen „Ich baue mir eine Simulation, in der alle unsere Services ausfallen. Dann wissen wir für die Ausschreibung, ob wir das kapazitiv stemmen können und was die schlimmsten zu erwartenden Meldezahlen sind“. Der Beriebsmitarbeiter, der vom ungehaltenen Kunden angerufen wird kann antworten „Ich hol mir die Situation, die Sie genannt haben, als Simulation zurück, wir analysieren das. Falls ein Fehler besteht, sehen wir das dann und können ihn beheben. Ich halte Sie auf dem Laufenden!“. Und der Kollege, der die Alarme des Gerätes nicht künstlich erzeugen kann, holt sie sich aus der Historie und ändert die Adresse auf die seines Testgerätes. So kann auch die geänderte Alarmintegration vollständig getestet werden.

Kämpfen auch Sie häufiger mit solchen Alltagsproblemen? Vielleicht kann man auch dafür mit einfachen Mitteln eine Lösung finden. Sprechen Sie uns an!