Open-Source-Software für LMS: Wie kostenlose Software bei der Verwaltung kritischer Geschäftssysteme bei VTB hilft

Das Dokumentationsunterstützungssystem in unserer Bank wird ständig weiterentwickelt und skaliert, während die Anforderungen an Geschwindigkeit und Fehlertoleranz immer weiter steigen. Irgendwann ist die Wartung des LMS ohne effektive zentrale Überwachung zu riskant geworden. Um die Geschäftsprozesse bei VTB zu sichern und die Arbeit der Administratoren zu vereinfachen, haben wir eine Lösung implementiert, die auf einem Stapel offener Technologien basiert. Damit können wir proaktiv auf Vorfälle reagieren und potenziellen Problemen vorbeugen. Under the cut - eine Geschichte über unsere Erfahrungen mit der Verwendung von freier Software zur Überwachung großer Unternehmenssysteme.



Warum ein Workflow-System überwachen?


Seit 2005 wird das Dokumentationssystem der VTB Bank vom CompanyMedia-System „verwaltet“. Das SDO beschäftigt über 60.000 Benutzer, die monatlich mehr als eine Million neue Dokumente erstellen. Unsere Server sollten 24 Stunden am Tag funktionieren: Fast zu jeder Zeit sind 2500-3000 Personen im System, die landesweit eine Verbindung zwischen Petropawlowsk-Kamtschatski und Kaliningrad herstellen. Jede Sekunde des Betriebs des LMS beträgt 10-15 Änderungen.

Damit das System die ihm zugewiesenen Aufgaben eindeutig erfüllen kann, haben wir eine fehlertolerante Infrastruktur bereitgestellt, die Proxyserver, Abfrageausgleich, Informationsschutz, Volltextsuche, Integrationsrouten und Sicherungen verwendet. Enorme Ressourcen sind erforderlich, um ein Projekt dieser Größenordnung zu unterstützen und zu verwalten. Administratoren überwachen rund um die Uhr grundlegende Informationen über den Betrieb von Servern, das Laden des Arbeitsspeichers, die Prozessorzeit, das Eingabe-Ausgabe-Subsystem usw. Abgesehen davon sind jedoch subtilere Analysen erforderlich:

  • Berechnung des Zeitaufwands für die Ausführung von Geschäftsszenarien;
  • Verfolgung der Dynamik der Systemleistung und Belastung;
  • Suchen Sie nach Abweichungen in Systemkomponenten von genehmigten nicht-funktionalen Anforderungen.

11 Jahre nach Einführung des LMS trat das Problem der proaktiven Reaktion auf verschiedene Arten von Fehlern besonders stark auf. Die Bankleitung erkannte, dass das Arbeiten ohne Monitore und ohne die Konsole des Systemlebens mit dem Feuer zu spielen ist: Der geringste Fehler in einem Geschäftssystem dieser Stufe ist mit Millionen von Verlusten behaftet.

2016 haben wir damit begonnen, Tools zur raschen Identifizierung von Problemen in der Funktionsweise des LMS einzuführen, unter anderem zur Überwachung von für uns interessanten Echtzeitparametern. Zuvor wurde das Anwendungsüberwachungssystem im Rahmen der Unternehmensinfrastruktur von InterTrust bereitgestellt und getestet.

Wie alles begann


Heutzutage hilft ein zentrales Anwendungsüberwachungssystem für VTB SDO, das auf Open Source-Software basiert, die meisten Fehler im Zusammenhang mit der Dokumentenverwaltung zu vermeiden, Probleme schnell und genau zu klassifizieren und schnell auf Vorfälle zu reagieren. Es umfasst zwei Subsysteme:

  • zur Überwachung der IT-Infrastruktur von Systemdiensten;
  • das Auftreten von Fehlern in der Arbeit des LMS zu überwachen.

Alles begann mit der einzigen kostenlosen Überwachungs-App. Nachdem wir mehrere Optionen durchlaufen hatten, entschieden wir uns für Zabbix-freie Software, die ursprünglich für Bankdienstleistungen und -ausrüstungen entwickelt wurde. Dieses webbasierte PHP-System, das Daten in MySQL, PostgreSQL, SQLite oder Oracle Database speichern kann, entspricht genau unseren Anforderungen.

Zabbix führt seine Agenten auf jedem Server aus und sammelt Informationen zu den relevanten Metriken in Echtzeit in einer einzigen Datenbank. Mit der Anwendung ist es bequem, Daten über die Auslastung der Prozessoren und des Arbeitsspeichers, über die Verwendung des Netzwerks und anderer Komponenten zu sammeln, die Verfügbarkeit und Reaktion von Standarddiensten (SMTP oder HTTP) zu überprüfen, externe Programme auszuführen und die Überwachung über SNMP zu unterstützen.

Durch die Bereitstellung von Zabbix haben wir Standardhardwaremetriken eingerichtet, und anfangs hat es gereicht. Aber VTB SDO entwickelt sich ständig weiter und wächst: 2016 nahm die Anzahl der Server merklich zu, Migrationsprozesse traten auf, die Bank of Moscow, VTB Capital, VTB24 schlossen sich an das System an. Es gibt weniger Standardmetriken, und wir haben Zabbix beigebracht, Informationen über das Vorhandensein von Warteschlangen auf jedem der mit dem Server verbundenen Volumes (im Zabbix-Feld wird nur die allgemeine Festplattenwarteschlange angezeigt) sowie über die Zeit zu protokollieren, die für die Verarbeitung eines bestimmten Vorgangs erforderlich ist.



Darüber hinaus haben wir das System mit mehreren Triggern ausgestattet - den Bedingungen, unter denen eine Benachrichtigung an den Administrator gesendet wird (Nachricht an Telegramm, SMS an eine Telefonnummer oder E-Mail). Trigger können für jeden Parametersatz angepasst werden. Beispielsweise können Sie einen bestimmten Prozentsatz des freien Speicherplatzes angeben. Das System benachrichtigt den Administrator, wenn der festgelegte Schwellenwert erreicht ist, oder informiert ihn, wenn ein Hintergrundvorgang länger als gewöhnlich dauert.

Java-Konnektivität und Datenvisualisierung


Wir haben den Umfang der analysierten Daten erheblich erweitert, dies reichte jedoch bald nicht mehr für eine wirksame Überwachung aus. Ausgehend von der Tatsache, dass CompanyMedia DLS eine Java-Anwendung ist, haben wir uns über die JMX-Schnittstelle mit der Java Virtual Machine verbunden und konnten Java-Metriken direkt erfassen. Darüber hinaus beziehen sich nicht nur die Standardfunktionen von Java Vital, wie die Intensität des GC- oder Heap-Verbrauchs, sondern auch bestimmte Beispiele direkt auf den ausführbaren Code der Anwendung.



Im Jahr 2017, etwa ein Jahr nach der Einführung des Überwachungssystems, wurde deutlich, dass es für die normale Arbeit mit dem in Zabbix gesammelten kolossalen Datenarray nicht genügend Visualisierungs-komplexe Bildschirme gibt. Die beste Lösung für dieses Problem war erneut die kostenlose Software Grafana, ein praktisches Dashboard für Metriken, mit dem Sie alle Daten auf einem Bildschirm zusammenfassen können.



Grafanas interaktive Oberfläche erinnert an ein OLAP-System. Das Subsystem zeigt die Daten, die Zabbix empfängt, auf einem einzigen Bildschirm an und präsentiert die Informationen in Form von Grafiken und Diagrammen, die für die Analyse geeignet sind. Der Administrator kann die von ihm benötigten Slices problemlos anpassen.



Überwachung und vorbeugende Fehlersuche im LMS-System


Das Filtern und Analysieren der während der Überwachung empfangenen Informationen hilft der Open Source-Softwareplattform von ELK. Dieses Open Source-Produkt besteht aus drei leistungsstarken Tools zum Sammeln, Speichern und Analysieren von Daten: Elasticsearch, Logstash und Kibana. Durch die Implementierung dieses Subsystems kann insbesondere in Echtzeit festgestellt werden, wie viele Fehler im System aufgetreten sind, auf welchen Servern und ob sich diese Fehler wiederholen.



Jetzt kann der Administrator das Problem frühzeitig erkennen, noch bevor der Benutzer darauf stößt. Eine solche proaktive Überwachung beugt Systemfehlern vor, indem Fehler rechtzeitig beseitigt werden. Darüber hinaus können wir nachvollziehen, wie sich das Verhalten des Systems nach dem Update geändert hat, und neue Probleme erkennen, falls sie auftreten.



Überwachung des Geschäftsbetriebs


Zusätzlich zu den grundlegenden Funktionen zur Überwachung des Ressourcenverbrauchs bietet das System die Möglichkeit, Geschäftsvorgänge zu analysieren und zu steuern.



Durch die Überwachung der Gesamtbetriebszeit können Sie neue Faktoren identifizieren und deren Auswirkungen auf das System nachvollziehen.



Durch die Überwachung des Ausführungszeitpunkts von Anforderungen im Kontext jedes Geschäftsdienstes können Vorgänge erkannt werden, die von der Norm abweichen.



Der Screenshot oben zeigt ein Beispiel für die Überwachung einer Hintergrundaufgabe hinsichtlich ihrer Abweichung von der Norm.



Mithilfe der Liste der überwachten Aufgaben in Bezug auf ihre Aktivität auf einem bestimmten Server können Sie Fehler - einschließlich der Duplizierung der Aufgabenausführung - auf allen Servern identifizieren.



Außerdem werden Trends in der Ausführungszeit von Hintergrundprozeduren überwacht.

Das System wächst, entwickelt und hilft, Probleme zu bewältigen.


Mit der Implementierung des beschriebenen Systems wurde die Überwachung des Betriebs von DLS-Servern stark vereinfacht. Es treten jedoch regelmäßig verschiedene Konflikte auf, die die Geschwindigkeit des Workflows beeinträchtigen und Benutzerbeschwerden verursachen. Wir haben erkannt, dass es notwendig ist, das Verhalten der Anwendung selbst und nicht nur der Server zu steuern.

Um dieses Problem zu lösen, wurde ein Balancer über die API, die mit einem Cluster von Anwendungsservern zusammenarbeitet, mit dem Überwachungssystem verbunden. Dadurch kann der Administrator sehen, wie lange der Server für jede Benutzeranforderung zuständig ist.

Daten zu Serverantwortzeiten wurden für die Analyse verfügbar, wodurch es möglich wurde, die Verlangsamung des DLS mit den auf dem Server ablaufenden Prozessen zu verknüpfen. Insbesondere wurde eine interessante Situation aufgedeckt: Der Server ist langsam, obwohl er momentan nicht geladen ist. Bei der Analyse der Anomalie haben wir Abweichungen im Betrieb des Garbage Collector Java festgestellt. Am Ende stellte sich heraus, dass es der fehlerhafte Betrieb dieses Dienstes war, der zu dieser Situation führte. Wir haben die Kontrolle über den Garbage Collector Java übernommen und das Problem vollständig behoben.

Auf diese Weise hilft freie Software, ein Dokumentenverwaltungssystem im Bankensektor zu entwickeln und zu erweitern. Wir haben nur die Hauptthemen in Bezug auf das Überwachungssystem von VTB LMS angesprochen. Wenn Sie an den Details interessiert sind - fragen Sie in den Kommentaren nach, wir teilen Ihnen gerne unsere Erfahrungen mit.

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


All Articles