Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

Il sistema di supporto della documentazione nella nostra banca è in costante sviluppo e ridimensionamento e i requisiti di velocità e tolleranza agli errori non fanno che aumentare. Ad un certo punto, mantenere un LMS senza un efficace monitoraggio centralizzato è diventato troppo rischioso. Per proteggere i processi aziendali in VTB e semplificare il lavoro degli amministratori, abbiamo implementato una soluzione basata su uno stack di tecnologie aperte. Con il suo aiuto, possiamo rispondere in modo proattivo agli incidenti, prevenendo potenziali problemi. Sotto il taglio c'è una storia sulla nostra esperienza nell'uso del software libero per monitorare sistemi aziendali su larga scala.

Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

Perché monitorare il tuo sistema di gestione dei documenti?

Dal 2005, il supporto della documentazione presso VTB Bank è “gestito” dal sistema CompanyMedia. L'LMS impiega oltre 60mila utenti che creano più di un milione di nuovi documenti ogni mese. I nostri server devono funzionare 24 ore su 2500: quasi in ogni momento nel sistema ci sono 3000-10 persone collegate in tutto il paese, da Petropavlovsk-Kamchatsky a Kaliningrad. Ogni secondo di funzionamento dell'LMS significa 15-XNUMX modifiche.

Per garantire che il sistema adempia accuratamente ai compiti assegnati, abbiamo implementato un'infrastruttura tollerante agli errori utilizzando server proxy, bilanciamento delle richieste, protezione delle informazioni, ricerca full-text, percorsi di integrazione e backup. Sostenere e amministrare un progetto di questa portata richiede enormi risorse. Gli amministratori monitorano le informazioni di base sul funzionamento del server, sul carico della RAM, sul tempo della CPU, sul sottosistema I/O e così via XNUMX ore su XNUMX. Ma oltre a questo, sono necessarie analisi più sottili:

  • calcolare il tempo impiegato nell'esecuzione degli scenari aziendali;
  • monitorare la dinamica delle prestazioni del sistema e caricarlo;
  • ricerca di deviazioni nei componenti del sistema rispetto ai requisiti non funzionali approvati.

11 anni dopo l’introduzione dell’LMS, la questione della risposta proattiva a vari tipi di errori è diventata particolarmente acuta. La direzione della banca si rese conto che lavorare senza monitor e una console di sistema significava giocare con il fuoco: il minimo fallimento in un sistema aziendale di questo livello poteva comportare perdite milionarie.

Nel 2016 abbiamo iniziato a introdurre strumenti per identificare rapidamente i problemi nel funzionamento del LMS, incluso il monitoraggio in tempo reale dei parametri di nostro interesse. In precedenza, il sistema di monitoraggio applicato veniva implementato e testato nell'ambito dell'infrastruttura aziendale InterTrust.

Com'è cominciato tutto

Oggi, il sistema centralizzato di monitoraggio delle applicazioni di VTB LMS, basato su prodotti software open source, aiuta a prevenire la maggior parte degli errori associati al flusso di documenti, a classificare i problemi in modo rapido e accurato e a rispondere tempestivamente a eventuali incidenti. Comprende due sottosistemi:

  • per il monitoraggio dell'infrastruttura informatica dei servizi di sistema;
  • monitorare il verificarsi di errori nel funzionamento del LMS.

Tutto è iniziato con un'unica app di monitoraggio gratuita. Dopo aver esaminato diverse opzioni, abbiamo optato per Zabbix, un software gratuito originariamente scritto per servizi e apparecchiature bancarie. Questo sistema PHP basato sul web, in grado di archiviare dati in MySQL, PostgreSQL, SQLite o Oracle Database, si adattava perfettamente alle nostre esigenze.

Zabbix esegue i suoi agenti su ciascun server e raccoglie informazioni sulle metriche di interesse in tempo reale in un unico database. Utilizzando l'applicazione, è conveniente raccogliere dati sul carico di processori e RAM, sull'utilizzo della rete e di altri componenti, verificare la disponibilità e la risposta dei servizi standard (SMTP o HTTP), eseguire programmi esterni e supportare il monitoraggio tramite SNMP.

Dopo aver distribuito Zabbix, abbiamo configurato le metriche hardware standard e all'inizio questo è stato sufficiente. Ma VTB SDO è in costante sviluppo e crescita: nel 2016, il numero di server è aumentato notevolmente, sono comparsi i processi di migrazione, la Banca di Mosca, VTB Capital e VTB24 si sono uniti al sistema. Non ci sono più sufficienti metriche standard e abbiamo insegnato a Zabbix a tenere traccia delle informazioni sulla presenza di code su ciascuno dei volumi connessi al server (Zabbix riflette immediatamente solo la coda generale del disco), nonché il tempo impiegato per completare una determinata procedura.

Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

Inoltre, abbiamo dotato il sistema di trigger multipli, condizioni alle quali viene inviata una notifica all'amministratore (un messaggio in Telegram, un SMS a un numero di telefono o un'e-mail). I trigger possono essere configurati per qualsiasi set di parametri. Ad esempio, puoi specificare una determinata percentuale di spazio libero su disco e il sistema avviserà l'amministratore quando viene raggiunta la soglia specificata o ti informerà se una procedura in background viene eseguita più a lungo del solito.

Connettività Java e visualizzazione dei dati

Abbiamo ampliato notevolmente la gamma dei dati analizzati, ma presto ciò non è stato sufficiente per un monitoraggio efficace. Approfittando del fatto che LMS di CompanyMedia è un'applicazione Java, ci siamo collegati alla Java Virtual Machine tramite l'interfaccia JMX e siamo stati in grado di acquisire direttamente le metriche Java. E non solo parametri standard dell'attività vitale di Java, come l'intensità del lavoro GC o il consumo di Heap, ma anche test specifici relativi direttamente al codice dell'applicazione eseguibile.

Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

Nel 2017, circa un anno dopo l'implementazione del sistema di monitoraggio, è diventato chiaro che per poter lavorare normalmente con l'enorme quantità di dati raccolti in Zabbix, non c'era abbastanza visualizzazione: schermate complesse. La migliore soluzione a questo problema è stata ancora una volta il software gratuito: Grafana, una comoda dashboard per le metriche che consente di aggregare tutti i dati su un'unica schermata.

Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

L'interfaccia Grafana è interattiva e ricorda un sistema OLAP. Il sottosistema visualizza i dati ricevuti da Zabbix su un'unica schermata, presentando le informazioni sotto forma di grafici e diagrammi facili da analizzare. L'amministratore può facilmente personalizzare le sezioni di cui ha bisogno.

Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

Monitoraggio ed eliminazione preventiva degli errori nel sistema LMS

La piattaforma software open source ELK ti aiuta a filtrare e analizzare le informazioni ricevute durante il monitoraggio. Questo prodotto opensource è costituito da tre potenti strumenti per la raccolta, l'archiviazione e l'analisi dei dati: Elasticsearch, Logstash e Kibana. L'implementazione di questo sottosistema permette, in particolare, di vedere in tempo reale quanti errori si sono verificati nel sistema, su quali server e se tali errori si ripetono.

Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

Ora l'amministratore può rilevare un problema in una fase iniziale, anche prima che l'utente lo incontri. Tale monitoraggio proattivo consente di prevenire malfunzionamenti del sistema eliminando tempestivamente gli errori. Inoltre, possiamo capire come è cambiato il comportamento del sistema dopo l'aggiornamento, nonché rilevare nuovi problemi se compaiono.

Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

Monitoraggio delle operazioni aziendali

Oltre alle funzioni di base di monitoraggio del consumo di risorse, il sistema ha la capacità di analizzare e controllare le operazioni aziendali.

Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

Monitorare il tempo complessivo di esecuzione delle operazioni aziendali consente di identificare nuovi fattori e comprendere l'impatto che hanno sul funzionamento del sistema.

Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

Il monitoraggio dei tempi di esecuzione delle richieste per ciascun servizio aziendale consente di rilevare operazioni che si discostano dalla norma.

Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

Lo screenshot sopra è un esempio di monitoraggio di un'attività in background in termini di deviazione dalla norma.

Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

L'elenco delle attività controllate in termini di attività su un server specifico consente di identificare gli errori, inclusa la duplicazione dell'esecuzione delle attività, su tutti i server.

Software open source per LMS: come il software gratuito aiuta ad amministrare i sistemi aziendali critici presso VTB

Viene inoltre monitorato l'andamento dei tempi di esecuzione delle procedure in background.

Il sistema cresce, si sviluppa e aiuta a far fronte ai problemi

Con l'implementazione del sistema descritto, il monitoraggio del funzionamento dei server LMS è diventato notevolmente semplificato. Tuttavia, di tanto in tanto sorgono vari tipi di conflitti, che influiscono sulla velocità del flusso dei documenti e causano reclami da parte degli utenti. Quindi ci siamo resi conto che era necessario controllare il comportamento dell'applicazione stessa e non solo dei server.

Per risolvere questo problema, al sistema di monitoraggio è stato collegato un bilanciatore tramite API, che funziona con un cluster di server applicativi. Grazie a questo, l'amministratore può vedere quanto tempo impiega il server per rispondere ad ogni richiesta dell'utente.

Sono diventati disponibili per l'analisi i dati sui tempi di risposta del server, che hanno permesso di collegare il rallentamento dell'LMS con i processi che si verificano sul server. In particolare è emersa una situazione interessante: il server funziona lentamente, anche se in questo momento non è caricato. Analizzando l'anomalia, abbiamo scoperto delle deviazioni nel funzionamento del Garbage Collector Java. Alla fine, si è scoperto che è stato il funzionamento errato di questo servizio a portare a questa situazione. Prendendo il controllo di Garbage Collector Java, abbiamo eliminato completamente il problema.

Ecco come il software libero aiuta lo sviluppo e la crescita del sistema di gestione dei documenti nel settore bancario. Abbiamo toccato solo le principali questioni relative al sistema di monitoraggio VTB SDO. Se sei interessato ai dettagli chiedi nei commenti, saremo felici di condividere con te la nostra esperienza.

Fonte: habr.com

Aggiungi un commento