Überwachung + Stresstest = Prognose und keine Fehler

Die IT-Abteilung von VTB musste sich mehrmals mit Notfallsituationen in den Systemen befassen, wenn die Belastung um ein Vielfaches zunahm. Daher wurde es notwendig, ein Modell zu entwickeln und zu testen, das die Spitzenlast kritischer Systeme vorhersagt. Zu diesem Zweck haben die IT-Spezialisten der Bank eine Überwachung eingerichtet, die Daten analysiert und gelernt, wie Prognosen automatisiert werden können. Welche Tools zur Vorhersage der Belastung beigetragen haben und ob es möglich war, die Arbeit mit ihrer Hilfe zu optimieren, werden wir in einem kurzen Artikel erläutern.



Probleme mit hoch belasteten Diensten treten in fast allen Sektoren auf, sind jedoch für den Finanzsektor von entscheidender Bedeutung. Zur Stunde X müssen alle Kampfeinheiten bereit sein, und daher war es notwendig, im Voraus zu wissen, was passieren könnte, und sogar den Tag zu bestimmen, an dem die Last springen würde und welche Systeme darauf treffen würden. Ausfälle müssen bekämpft und verhindert werden, sodass die Notwendigkeit der Implementierung eines Predictive Analytics-Systems noch nicht einmal erörtert wurde. Es war notwendig, Systeme basierend auf Überwachungsdaten zu aktualisieren.

Analytik am Knie


Ein Lohn- und Gehaltsabrechnungsprojekt ist eines der sensibelsten im Fehlerfall. Für Prognosen ist dies am verständlichsten, daher haben wir uns entschlossen, damit zu beginnen. Aufgrund der hohen Konnektivität zu Spitzenlastzeiten können bei anderen Subsystemen, einschließlich Remote Banking Services (RBS), Probleme auftreten. Zum Beispiel begannen Kunden, die sich über SMS über den Erhalt von Geld freuten, diese aktiv zu nutzen. Die Last könnte mehr als eine Größenordnung springen.

Das erste Prognosemodell wurde manuell erstellt. Wir haben das Entladen für das letzte Jahr genommen und berechnet, an welchen Tagen maximale Spitzen erwartet werden: zum Beispiel am 1., 15. und 25. sowie an den letzten Tagen des Monats. Dieses Modell erforderte ernsthafte Arbeit und lieferte keine genaue Prognose. Trotzdem identifizierte sie Engpässe, bei denen Hardware hinzugefügt werden musste, und ermöglichte es, den Prozess des Geldtransfers durch Vereinbarung mit Ankerkunden zu optimieren: Um keine Gehälter auf einen Schlag zu erhalten, wurden Transaktionen aus verschiedenen Regionen rechtzeitig verteilt. Jetzt verarbeiten wir sie in Teilen, die die IT-Infrastruktur der Bank unbedingt kauen kann.

Nachdem wir das erste positive Ergebnis erhalten hatten, wechselten wir zur Prognoseautomation. Ein Dutzend weitere kritische Abschnitte warteten darauf, dass wir an die Reihe kamen.

Integrierter Ansatz


Auf der VTB wurde das MicroFocus-Überwachungssystem eingeführt. Von dort nahmen wir Prognosedatenerfassung, ein Speichersystem und ein Berichtssystem. Tatsächlich gab es bereits eine Überwachung, es mussten nur noch Metriken und ein Vorhersagemodul hinzugefügt und neue Berichte erstellt werden. Diese Entscheidung wird von einem externen Auftragnehmer, Technoserv, unterstützt. Die Hauptarbeiten an dem Projekt wurden von seinen Spezialisten durchgeführt, aber wir haben das Modell selbst gebaut. Das Prognosesystem basiert auf Prophet - dieses Open-Source-Produkt wurde auf Facebook entwickelt. Es ist einfach zu bedienen und einfach in unsere umfassenden Überwachungs- und Vertica-Tools zu integrieren. Grob gesagt analysiert das System den Lastplan und extrapoliert ihn basierend auf der Fourier-Reihe. Es ist auch möglich, bestimmte Koeffizienten pro Tag aus unserem Modell hinzuzufügen. Metriken werden ohne menschliches Eingreifen erstellt. Einmal pro Woche wird die Prognose automatisch neu berechnet und neue Berichte werden an die Empfänger gesendet.

Dieser Ansatz zeigt die Hauptzyklen auf, z. B. jährlich, monatlich, vierteljährlich und wöchentlich. Zahlungen von Gehältern und Vorschüssen, Urlaubszeiten, Feiertagen und Verkäufen - all dies wirkt sich auf die Anzahl der Anrufe bei den Systemen aus. Es stellte sich zum Beispiel heraus, dass sich einige Zyklen überlappen und der Central Federal District die Hauptlast (75%) für die Systeme bereitstellt. Juristische Personen und Einzelpersonen verhalten sich unterschiedlich. Wenn die Arbeitsbelastung der „Physiker“ relativ gleichmäßig auf die Wochentage verteilt ist (dies sind viele kleine Transaktionen), haben Unternehmen 99,9% ihrer Zeit, während Transaktionen kurz sein oder innerhalb von Minuten oder sogar Stunden verarbeitet werden können.



Basierend auf den erhaltenen Daten werden langfristige Trends bestimmt. Das neue System hat gezeigt, dass die Menschen massiv zum RB aufbrechen. Dies ist allen bekannt, aber wir haben eine solche Größenordnung nicht erwartet und zunächst nicht daran geglaubt: Die Anzahl der Anrufe bei den Bankbüros nimmt extrem schnell ab, und die Anzahl der Ferntransaktionen wächst um genau den gleichen Betrag. Dementsprechend wächst auch die Belastung des Systems und wird weiter zunehmen. Jetzt prognostizieren wir die Belastung bis Februar 2020. Normale Tage können mit einem Fehler von 3% und Spitzentage mit einem Fehler von 10% vorhergesagt werden. Das ist ein gutes Ergebnis.

Fallstricke


Wie immer gab es einige Schwierigkeiten. Der Extrapolationsmechanismus unter Verwendung von Fourier-Reihen geht schlecht durch Null - wir wissen, dass juristische Personen am Wochenende nur wenige Transaktionen generieren, aber das Vorhersagemodul erzeugt Werte, die weit von Null entfernt sind. Es war möglich, sie mit Gewalt zu korrigieren, aber Krücken sind nicht unsere Methode. Darüber hinaus musste das Problem der schmerzlosen Datenerfassung aus Quellsystemen gelöst werden. Die regelmäßige Erfassung von Informationen erfordert umfangreiche Computerressourcen. Daher haben wir mithilfe der Replikation schnelle Caches erstellt und erhalten bereits Geschäftsdaten von Replikaten. Das Fehlen einer zusätzlichen Belastung der Mastersysteme in solchen Fällen ist eine Sperranforderung.

Neue Herausforderungen


Die Stirnaufgabe zur Vorhersage von Spitzenwerten wurde gelöst: Seit Mai dieses Jahres gab es keine Bankausfälle im Zusammenhang mit Überlastung, und das neue Prognosesystem spielte dabei eine wichtige Rolle. Ja, es hat nicht gereicht, und jetzt will die Bank verstehen, wie gefährlich Spitzen für sie sind. Wir benötigen Prognosen, die Metriken aus Lasttests verwenden, und für etwa 30% der kritischen Systeme funktioniert dies bereits. Der Rest ist dabei, Prognosen zu erhalten. In der nächsten Phase werden wir die Belastung der Systeme nicht bei Geschäftstransaktionen vorhersagen, sondern in Bezug auf die IT-Infrastruktur, dh wir werden eine Ebene tiefer gehen. Darüber hinaus müssen wir die Erfassung von Metriken vollständig automatisieren und darauf basierende Prognosen erstellen, um nicht entladen zu müssen. Daran ist nichts Außergewöhnliches - wir überwachen und testen nur nach den besten Praktiken der Welt.

Source: https://habr.com/ru/post/de472062/


All Articles