Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

Le système de support documentaire de notre banque se développe et évolue constamment, et les exigences en matière de rapidité et de tolérance aux pannes ne font qu'augmenter. À un moment donné, maintenir un LMS sans surveillance centralisée efficace est devenu trop risqué. Pour sécuriser les processus métiers chez VTB et simplifier le travail des administrateurs, nous avons mis en place une solution basée sur une pile de technologies ouvertes. Avec son aide, nous pouvons réagir de manière proactive aux incidents, évitant ainsi les problèmes potentiels. Sous la coupe se trouve une histoire sur notre expérience dans l'utilisation de logiciels libres pour surveiller des systèmes d'entreprise à grande échelle.

Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

Pourquoi surveiller votre système de gestion documentaire ?

Depuis 2005, le support documentaire de VTB Bank est « géré » par le système CompanyMedia. Le LMS emploie plus de 60 24 utilisateurs qui créent plus d'un million de nouveaux documents chaque mois. Nos serveurs doivent fonctionner 2500 heures sur 3000 : à tout moment, 10 15 à XNUMX XNUMX personnes sont connectées dans tout le pays, de Petropavlovsk-Kamchatsky à Kaliningrad. Chaque seconde de fonctionnement du LMS signifie XNUMX à XNUMX changements.

Pour garantir que le système remplit avec précision les tâches qui lui sont assignées, nous avons déployé une infrastructure tolérante aux pannes utilisant des serveurs proxy, l'équilibrage des demandes, la protection des informations, la recherche en texte intégral, les routes d'intégration et la sauvegarde. Soutenir et administrer un projet de cette envergure nécessite d’énormes ressources. Les administrateurs surveillent XNUMX heures sur XNUMX les informations de base sur le fonctionnement du serveur, la charge de la RAM, le temps CPU, le sous-système d'E/S, etc. Mais à côté de cela, des analyses plus subtiles sont nécessaires :

  • calculer le temps passé à exécuter des scénarios commerciaux ;
  • surveiller la dynamique des performances du système et sa charge ;
  • rechercher des écarts dans les composants du système par rapport aux exigences non fonctionnelles approuvées.

11 ans après l'introduction du LMS, la question de la réponse proactive à divers types d'erreurs est devenue particulièrement aiguë. La direction de la banque s'est rendu compte que travailler sans moniteurs ni console de vie du système jouait avec le feu : la moindre panne dans un système commercial de ce niveau pouvait entraîner des millions de pertes.

En 2016, nous avons commencé à introduire des outils permettant d'identifier rapidement les problèmes de fonctionnement du LMS, notamment en surveillant les paramètres qui nous intéressent en temps réel. Auparavant, le système de surveillance appliqué était déployé et testé dans le cadre de l'infrastructure de l'entreprise InterTrust.

Comment tout a commencé

Aujourd'hui, le système centralisé de surveillance des applications de VTB LMS, basé sur des produits logiciels open source, permet d'éviter la plupart des erreurs associées au flux de documents, de classer rapidement et précisément les problèmes et de répondre rapidement à tout incident. Il comprend deux sous-systèmes :

  • pour surveiller l'infrastructure informatique des services système ;
  • pour surveiller l'apparition d'erreurs dans le fonctionnement du LMS.

Tout a commencé avec une seule application de surveillance gratuite. Après avoir examiné plusieurs options, nous avons opté pour Zabbix, un logiciel gratuit initialement écrit pour les services et équipements bancaires. Ce système Web PHP, capable de stocker des données dans MySQL, PostgreSQL, SQLite ou Oracle Database, répondait parfaitement à nos besoins.

Zabbix exécute ses agents sur chaque serveur et collecte des informations sur les métriques d'intérêt en temps réel dans une base de données unique. À l'aide de l'application, il est pratique de collecter des données sur la charge des processeurs et de la RAM, sur l'utilisation du réseau et d'autres composants, de vérifier la disponibilité et la réponse des services standard (SMTP ou HTTP), d'exécuter des programmes externes et de prendre en charge la surveillance via SNMP.

Après avoir déployé Zabbix, nous avons configuré des métriques matérielles standard, et au début, cela suffisait. Mais VTB SDO se développe et grandit constamment : en 2016, le nombre de serveurs a sensiblement augmenté, des processus de migration sont apparus, la Banque de Moscou, VTB Capital et VTB24 ont rejoint le système. Il n'y a plus assez de métriques standards, et nous avons appris à Zabbix à suivre les informations sur la présence de files d'attente sur chacun des volumes connectés au serveur (Zabbix prêt à l'emploi ne reflète que la file d'attente générale du disque), ainsi que le temps qu'il faut pour terminer une procédure particulière.

Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

De plus, nous avons équipé le système de plusieurs déclencheurs - conditions dans lesquelles une notification est envoyée à l'administrateur (un message dans Telegram, un SMS à un numéro de téléphone ou un e-mail). Les déclencheurs peuvent être configurés pour n’importe quel ensemble de paramètres. Par exemple, vous pouvez spécifier un certain pourcentage d'espace disque libre et le système alertera l'administrateur lorsque le seuil spécifié est atteint ou vous informera si une procédure en arrière-plan s'exécute plus longtemps que d'habitude.

Connectivité Java et visualisation des données

Nous avons considérablement élargi la gamme de données analysées, mais cela n'a vite pas suffi pour un suivi efficace. Profitant du fait que le LMS de CompanyMedia est une application Java, nous nous sommes connectés à la machine virtuelle Java via l'interface JMX et avons pu prendre directement les métriques Java. Et pas seulement les paramètres standards de l'activité vitale Java, tels que l'intensité de travail du GC ou la consommation du Heap, mais aussi des tests spécifiques liés directement au code exécutable de l'application.

Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

En 2017, environ un an après la mise en œuvre du système de surveillance, il est devenu évident que pour travailler normalement avec la quantité colossale de données collectées dans Zabbix, il n'y avait pas assez de visualisation - des écrans complexes. La meilleure solution à ce problème était encore une fois un logiciel gratuit - Grafana, un tableau de bord pratique pour les métriques qui vous permet de regrouper toutes les données sur un seul écran.

Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

L'interface Grafana est interactive, rappelant un système OLAP. Le sous-système affiche les données reçues par Zabbix sur un seul écran, présentant les informations sous forme de graphiques et de diagrammes faciles à analyser. L'administrateur peut facilement personnaliser les tranches dont il a besoin.

Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

Surveillance et élimination préventive des erreurs dans le système LMS

La plateforme logicielle open source ELK vous aide à filtrer et analyser les informations reçues lors de la surveillance. Ce produit open source se compose de trois outils puissants pour collecter, stocker et analyser des données : Elasticsearch, Logstash et Kibana. La mise en œuvre de ce sous-système permet notamment de voir en temps réel combien d'erreurs se sont produites dans le système, sur quels serveurs et si ces erreurs se répètent.

Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

L'administrateur peut désormais détecter un problème à un stade précoce, avant même que l'utilisateur ne le rencontre. Une telle surveillance proactive vous permet de prévenir les dysfonctionnements du système en éliminant les erreurs en temps opportun. De plus, nous pouvons comprendre comment le comportement du système a changé après la mise à jour, ainsi que détecter de nouveaux problèmes s'ils apparaissent.

Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

Surveillance des opérations commerciales

En plus des fonctions de base de surveillance de la consommation des ressources, le système a la capacité d'analyser et de contrôler les opérations commerciales.

Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

Surveiller le temps d'exécution global des opérations métiers permet d'identifier de nouveaux facteurs et de comprendre leur impact sur le fonctionnement du système.

Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

Le suivi du temps d'exécution des requêtes pour chaque service métier permet de détecter les opérations qui s'écartent de la norme.

Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

La capture d'écran ci-dessus est un exemple de surveillance d'une tâche en arrière-plan en termes d'écart par rapport à la norme.

Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

La liste des tâches contrôlées en fonction de leur activité sur un serveur spécifique permet d'identifier les erreurs - y compris la duplication d'exécution des tâches - sur tous les serveurs.

Logiciel open source pour LMS : comment un logiciel gratuit aide à administrer les systèmes d'entreprise critiques chez VTB

Les tendances du temps d'exécution des procédures en arrière-plan sont également surveillées.

Le système grandit, se développe et aide à faire face aux problèmes

Avec la mise en œuvre du système décrit, la surveillance du fonctionnement des serveurs LMS est devenue considérablement simplifiée. Néanmoins, divers types de conflits surviennent de temps à autre, affectant la rapidité du flux de documents et provoquant des plaintes des utilisateurs. Nous avons donc réalisé qu'il fallait contrôler le comportement de l'application elle-même, et pas seulement des serveurs.

Pour résoudre ce problème, un équilibreur a été connecté au système de surveillance via API, qui fonctionne avec un cluster de serveurs d'applications. Grâce à cela, l'administrateur peut voir combien de temps il faut au serveur pour répondre à chaque demande de l'utilisateur.

Les données sur les temps de réponse du serveur sont devenues disponibles pour analyse, ce qui a permis de relier le ralentissement du LMS aux processus se déroulant sur le serveur. En particulier, une situation intéressante est apparue : le serveur fonctionne lentement, même s'il n'est pas chargé pour le moment. En analysant l'anomalie, nous avons découvert des écarts dans le fonctionnement du Garbage Collector Java. En fin de compte, il s’est avéré que c’était le mauvais fonctionnement de ce service qui avait conduit à cette situation. En prenant le contrôle de Garbage Collector Java, nous avons complètement éliminé le problème.

C'est ainsi que les logiciels libres aident le système de gestion documentaire du secteur bancaire à se développer et à se développer. Nous n'avons abordé que les principaux problèmes liés au système de surveillance VTB SDO. Si vous êtes intéressé par des détails, demandez-le dans les commentaires, nous serons heureux de partager notre expérience avec vous.

Source: habr.com

Ajouter un commentaire