Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

O sistema de soporte de documentación no noso banco está en constante desenvolvemento e escala, e os requisitos de velocidade e tolerancia a fallos non fan máis que aumentar. Nalgún momento, manter un LMS sen un seguimento centralizado efectivo volveuse demasiado arriscado. Para asegurar os procesos comerciais en VTB e simplificar o traballo dos administradores, implementamos unha solución baseada nunha pila de tecnoloxías abertas. Coa súa axuda, podemos responder proactivamente ás incidencias, evitando posibles problemas. Debaixo do corte hai unha historia sobre a nosa experiencia no uso de software libre para supervisar sistemas empresariais a gran escala.

Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

Por que supervisar o seu sistema de xestión de documentos?

Desde 2005, o soporte de documentación en VTB Bank está "xestionado" polo sistema CompanyMedia. O LMS emprega a máis de 60 mil usuarios que crean máis dun millón de novos documentos cada mes. Os nosos servidores deben funcionar as 24 horas do día: en case calquera momento hai entre 2500 e 3000 persoas no sistema, que están conectadas en todo o país, desde Petropavlovsk-Kamchatsky ata Kaliningrado. Cada segundo de operación LMS significa de 10 a 15 cambios.

Para garantir que o sistema cumpre con precisión as tarefas asignadas, implantamos unha infraestrutura tolerante a fallos mediante servidores proxy, equilibrado de solicitudes, protección da información, busca de texto completo, rutas de integración e copia de seguridade. Apoiar e administrar un proxecto desta envergadura require de enormes recursos. Os administradores supervisan a información básica sobre o funcionamento do servidor, a carga da RAM, o tempo da CPU, o subsistema de E/S, etc. durante todo o día. Pero ademais disto, necesítanse análises máis sutís:

  • calcular o tempo empregado na execución de escenarios empresariais;
  • supervisar a dinámica do rendemento do sistema e cargar nel;
  • busca de desviacións nos compoñentes do sistema dos requisitos non funcionais aprobados.

11 anos despois da introdución do LMS, o problema da resposta proactiva a varios tipos de erros volveuse especialmente agudo. A dirección do banco decatouse de que traballar sen monitores e unha consola de vida do sistema estaba xogando con lume: o máis mínimo fallo nun sistema empresarial deste nivel podía provocar perdas millonarias.

En 2016, comezamos a introducir ferramentas para identificar rapidamente problemas no funcionamento do LMS, incluíndo o seguimento de parámetros de interese para nós en tempo real. Anteriormente, o sistema de vixilancia aplicado foi implantado e probado no marco da infraestrutura da empresa InterTrust.

Como comezou todo

Hoxe, o sistema centralizado de seguimento de aplicacións de VTB LMS, baseado en produtos de software de código aberto, axuda a previr a maioría dos erros asociados ao fluxo de documentos, a clasificar os problemas de forma rápida e precisa e a responder con prontitude a calquera incidencia. Inclúe dous subsistemas:

  • para supervisar a infraestrutura informática dos servizos do sistema;
  • para supervisar a aparición de erros no funcionamento do LMS.

Todo comezou cunha única aplicación de vixilancia gratuíta. Despois de pasar por varias opcións, optamos por Zabbix, un software libre que foi escrito orixinalmente para servizos e equipos bancarios. Este sistema PHP baseado na web, que pode almacenar datos en MySQL, PostgreSQL, SQLite ou Oracle Database, era perfecto para as nosas necesidades.

Zabbix executa os seus axentes en cada servidor e recolle información sobre métricas de interese en tempo real nunha única base de datos. Usando a aplicación, é conveniente recoller datos sobre a carga dos procesadores e da RAM, sobre o uso da rede e outros compoñentes, comprobar a dispoñibilidade e resposta dos servizos estándar (SMTP ou HTTP), executar programas externos e apoiar a supervisión mediante SNMP.

Despois de implantar Zabbix, configuramos as métricas de hardware estándar, e ao principio isto foi suficiente. Pero VTB SDO está a desenvolver e crecer constantemente: en 2016, o número de servidores aumentou notablemente, apareceron procesos de migración, o Banco de Moscova, VTB Capital e VTB24 uníronse ao sistema. Xa non hai suficientes métricas estándar e ensinámoslle a Zabbix a rastrexar información sobre a presenza de colas en cada un dos volumes conectados ao servidor (Zabbix reflicte só a cola xeral do disco), así como o tempo que leva para completar un determinado procedemento.

Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

Ademais, equipamos o sistema con múltiples disparadores, condicións nas que se envía unha notificación ao administrador (unha mensaxe en Telegram, un SMS a un número de teléfono ou un correo electrónico). Os disparadores pódense configurar para calquera conxunto de parámetros. Por exemplo, pode especificar unha determinada porcentaxe de espazo libre no disco e o sistema avisará ao administrador cando se alcance o limiar especificado ou informará se un procedemento en segundo plano está a executarse máis tempo do habitual.

Conectividade Java e visualización de datos

Ampliamos significativamente o rango de datos analizados, pero pronto isto non foi suficiente para un seguimento eficaz. Aproveitando que o LMS de CompanyMedia é unha aplicación Java, conectámonos á Máquina Virtual Java a través da interface JMX e puidemos tomar as métricas de Java directamente. E non só parámetros estándar da actividade vital de Java, como a intensidade do traballo GC ou o consumo de Heap, senón tamén probas específicas relacionadas directamente co código da aplicación executable.

Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

En 2017, aproximadamente un ano despois da implantación do sistema de seguimento, quedou claro que para traballar normalmente coa cantidade colosal de datos recollidos en Zabbix, non había suficiente visualización: pantallas complexas. A mellor solución a este problema foi de novo o software gratuíto: Grafana, un cómodo panel de métricas que che permite agregar todos os datos nunha soa pantalla.

Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

A interface de Grafana é interactiva, e lembra un sistema OLAP. O subsistema mostra os datos recibidos por Zabbix nunha única pantalla, presentando a información en forma de gráficos e diagramas de fácil análise. O administrador pode personalizar facilmente as porcións que precisa.

Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

Seguimento e eliminación preventiva de erros no sistema LMS

A plataforma de software de código aberto ELK axúdache a filtrar e analizar a información recibida durante o seguimento. Este produto de código aberto consta de tres poderosas ferramentas para recoller, almacenar e analizar datos: Elasticsearch, Logstash e Kibana. A implantación deste subsistema permite, en particular, ver en tempo real cantos erros se produciron no sistema, en que servidores e se estes erros se repiten.

Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

Agora o administrador pode detectar un problema nunha fase inicial, mesmo antes de que o usuario o atope. Este seguimento proactivo permítelle evitar o mal funcionamento do sistema eliminando os erros de forma oportuna. Ademais, podemos comprender como cambiou o comportamento do sistema despois da actualización, así como detectar novos problemas se aparecen.

Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

Seguimento das operacións comerciais

Ademais das funcións básicas de seguimento do consumo de recursos, o sistema ten a capacidade de analizar e controlar as operacións comerciais.

Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

O seguimento do tempo de execución global das operacións comerciais permítelle identificar novos factores e comprender o impacto que teñen no funcionamento do sistema.

Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

O seguimento do tempo de execución das solicitudes de cada servizo empresarial permite detectar operacións que se desvían da norma.

Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

A captura de pantalla anterior é un exemplo de seguimento dunha tarefa en segundo plano en canto á súa desviación da norma.

Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

A lista de tarefas controladas en canto á súa actividade nun servidor específico permítelle identificar erros, incluída a duplicación da execución das tarefas, en todos os servidores.

Software de código aberto para LMS: como o software libre axuda a administrar sistemas empresariais críticos en VTB

Tamén se supervisan as tendencias no tempo de execución dos procedementos en segundo plano.

O sistema medra, desenvólvese e axuda a afrontar os problemas

Coa implementación do sistema descrito, o seguimento do funcionamento dos servidores LMS simplificouse significativamente. Non obstante, de cando en vez xorden diversos tipos de conflitos, que afectan á velocidade do fluxo de documentos e provocan queixas dos usuarios. Así que decatámonos de que era necesario controlar o comportamento da propia aplicación, e non só dos servidores.

Para solucionar este problema, conectouse un equilibrador ao sistema de monitorización mediante API, que funciona cun clúster de servidores de aplicacións. Grazas a isto, o administrador pode ver canto tempo tarda o servidor en responder a cada solicitude do usuario.

Os datos sobre os tempos de resposta do servidor puxéronse a disposición para a súa análise, o que permitiu vincular a desaceleración do LMS cos procesos que ocorren no servidor. En concreto, xurdiu unha situación interesante: o servidor funciona lentamente, aínda que neste momento non está cargado. Analizando a anomalía, descubrimos desviacións no funcionamento de Garbage Collector Java. Ao final, resultou que foi o mal funcionamento deste servizo o que levou a esta situación. Ao tomar o control de Garbage Collector Java, eliminamos completamente o problema.

Así é como o software libre axuda a desenvolver e crecer o sistema de xestión documental no sector bancario. Tocamos só os principais problemas relacionados co sistema de vixilancia VTB SDO. Se estás interesado nos detalles, pregunta nos comentarios, estaremos encantados de compartir a nosa experiencia contigo.

Fonte: www.habr.com

Engadir un comentario