Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

O sistema de suporte de documentação em nosso banco está em constante desenvolvimento e expansão, e os requisitos de velocidade e tolerância a falhas estão apenas aumentando. A certa altura, manter um LMS sem monitorização centralizada eficaz tornou-se demasiado arriscado. Para proteger os processos de negócios na VTB e simplificar o trabalho dos administradores, implementamos uma solução baseada em uma pilha de tecnologias abertas. Com a sua ajuda, podemos responder proativamente a incidentes, prevenindo potenciais problemas. Abaixo do corte está uma história sobre nossa experiência no uso de software livre para monitorar sistemas empresariais de grande escala.

Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

Por que monitorar seu sistema de gerenciamento de documentos?

Desde 2005, o suporte documental no Banco VTB é “gerenciado” pelo sistema CompanyMedia. O LMS emprega mais de 60 mil usuários que criam mais de um milhão de novos documentos todos os meses. Nossos servidores devem funcionar 24 horas por dia: quase a qualquer momento há 2500 a 3000 pessoas no sistema, que estão conectadas em todo o país, de Petropavlovsk-Kamchatsky a Kaliningrado. Cada segundo de operação do LMS significa de 10 a 15 alterações.

Para garantir que o sistema cumpra com precisão as tarefas atribuídas, implantamos uma infraestrutura tolerante a falhas utilizando servidores proxy, balanceamento de solicitações, proteção de informações, pesquisa de texto completo, rotas de integração e backup. Apoiar e administrar um projeto desta escala requer enormes recursos. Os administradores monitoram informações básicas sobre operação do servidor, carga de RAM, tempo de CPU, subsistema de E/S e assim por diante, XNUMX horas por dia. Mas, além disso, são necessárias análises mais sutis:

  • cálculo do tempo gasto na execução de cenários de negócios;
  • monitorar a dinâmica de desempenho do sistema e carga nele;
  • busca de desvios nos componentes do sistema em relação aos requisitos não funcionais aprovados.

11 anos após a introdução do LMS, a questão da resposta proativa a vários tipos de erros tornou-se especialmente aguda. A administração do banco percebeu que trabalhar sem monitores e sem um console de vida do sistema era brincar com fogo: a menor falha em um sistema de negócios desse nível poderia resultar em perdas milionárias.

Em 2016, iniciamos a introdução de ferramentas para identificação rápida de problemas no funcionamento do LMS, incluindo monitoramento em tempo real de parâmetros de nosso interesse. Anteriormente, o sistema de monitoramento aplicado era implantado e testado no âmbito da infraestrutura da empresa InterTrust.

Como tudo começou

Hoje, o sistema centralizado de monitoramento de aplicativos do VTB LMS, baseado em produtos de software de código aberto, ajuda a prevenir a maioria dos erros associados ao fluxo de documentos, classificar problemas com rapidez e precisão e responder prontamente a quaisquer incidentes. Inclui dois subsistemas:

  • para monitorar a infraestrutura de TI dos serviços do sistema;
  • monitorar a ocorrência de erros na operação do LMS.

Tudo começou com um único aplicativo de monitoramento gratuito. Depois de passar por várias opções, optamos pelo Zabbix - software gratuito que foi originalmente escrito para serviços e equipamentos bancários. Este sistema PHP baseado na web, que pode armazenar dados em MySQL, PostgreSQL, SQLite ou Oracle Database, atendeu perfeitamente às nossas necessidades.

O Zabbix executa seus agentes em cada servidor e coleta informações sobre métricas de interesse em tempo real em um único banco de dados. Usando o aplicativo, é conveniente coletar dados sobre a carga dos processadores e RAM, sobre o uso da rede e outros componentes, verificar a disponibilidade e resposta de serviços padrão (SMTP ou HTTP), executar programas externos e monitorar o suporte via SNMP.

Após implantar o Zabbix, configuramos métricas de hardware padrão e, a princípio, isso foi suficiente. Mas o VTB SDO está em constante desenvolvimento e crescimento: em 2016, o número de servidores aumentou sensivelmente, surgiram processos de migração, o Banco de Moscou, VTB Capital e VTB24 aderiram ao sistema. Não existem mais métricas padrão suficientes, e ensinamos o Zabbix a rastrear informações sobre a presença de filas em cada um dos volumes conectados ao servidor (o Zabbix pronto para uso reflete apenas a fila geral do disco), bem como o tempo que leva para concluir um procedimento específico.

Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

Além disso, equipamos o sistema com múltiplos gatilhos - condições sob as quais uma notificação é enviada ao administrador (uma mensagem no Telegram, um SMS para um número de telefone ou um e-mail). Os gatilhos podem ser configurados para qualquer conjunto de parâmetros. Por exemplo, você pode especificar uma determinada porcentagem de espaço livre em disco e o sistema alertará o administrador quando o limite especificado for atingido ou informará se um procedimento em segundo plano estiver sendo executado por mais tempo do que o normal.

Conectividade Java e visualização de dados

Ampliamos significativamente o leque de dados analisados, mas logo isso não foi suficiente para um monitoramento eficaz. Aproveitando o fato do LMS da CompanyMedia ser uma aplicação Java, nos conectamos à Java Virtual Machine através da interface JMX e conseguimos obter métricas Java diretamente. E não apenas parâmetros padrão de atividade vital Java, como intensidade de trabalho de GC ou consumo de Heap, mas também testes específicos relacionados diretamente ao código executável do aplicativo.

Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

Em 2017, cerca de um ano após a implantação do sistema de monitoramento, ficou claro que para trabalhar normalmente com a colossal quantidade de dados coletados no Zabbix não havia visualização suficiente – telas complexas. A melhor solução para esse problema foi novamente o software livre - Grafana, um painel conveniente para métricas que permite agregar todos os dados em uma tela.

Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

A interface Grafana é interativa, lembrando um sistema OLAP. O subsistema exibe os dados recebidos pelo Zabbix em uma única tela, apresentando as informações em forma de gráficos e diagramas de fácil análise. O administrador pode personalizar facilmente as fatias de que precisa.

Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

Monitoramento e eliminação preventiva de erros no sistema LMS

A plataforma de software de código aberto ELK ajuda a filtrar e analisar as informações recebidas durante o monitoramento. Este produto de código aberto consiste em três ferramentas poderosas para coletar, armazenar e analisar dados: Elasticsearch, Logstash e Kibana. A implementação deste subsistema permite, nomeadamente, ver em tempo real quantos erros ocorreram no sistema, em que servidores e se esses erros se repetem.

Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

Agora o administrador pode detectar um problema numa fase inicial, mesmo antes de o utilizador o encontrar. Esse monitoramento proativo permite evitar mau funcionamento do sistema, eliminando erros em tempo hábil. Além disso, podemos entender como o comportamento do sistema mudou após a atualização, bem como detectar novos problemas caso eles apareçam.

Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

Monitoramento de Operações Comerciais

Além das funções básicas de monitoramento do consumo de recursos, o sistema tem a capacidade de analisar e controlar as operações comerciais.

Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

Monitorar o tempo geral de execução das operações comerciais permite identificar novos fatores e compreender o impacto que eles têm na operação do sistema.

Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

O monitoramento do tempo de execução das solicitações de cada serviço de negócio permite detectar operações que fogem da norma.

Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

A captura de tela acima é um exemplo de monitoramento de uma tarefa em segundo plano em termos de seu desvio da norma.

Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

A lista de tarefas controladas em termos de atividade em um servidor específico permite identificar erros - incluindo duplicação de execução de tarefas - em todos os servidores.

Software de código aberto para LMS: como o software gratuito ajuda a administrar sistemas de negócios críticos na VTB

As tendências no tempo de execução dos procedimentos em segundo plano também são monitoradas.

O sistema cresce, se desenvolve e ajuda a lidar com os problemas

Com a implementação do sistema descrito, o monitoramento do funcionamento dos servidores LMS tornou-se significativamente simplificado. No entanto, vários tipos de conflitos surgem de tempos em tempos, afetando a velocidade do fluxo de documentos e causando reclamações dos usuários. Então percebemos que era necessário controlar o comportamento da aplicação em si, e não apenas dos servidores.

Para solucionar esse problema, foi conectado um balanceador ao sistema de monitoramento via API, que funciona com um cluster de servidores de aplicação. Graças a isso, o administrador pode ver quanto tempo o servidor leva para responder a cada solicitação do usuário.

Os dados sobre os tempos de resposta do servidor ficaram disponíveis para análise, o que permitiu relacionar a lentidão do LMS com os processos que ocorrem no servidor. Em particular, surgiu uma situação interessante: o servidor está lento, embora neste momento não esteja carregado. Analisando a anomalia, descobrimos desvios no funcionamento do Garbage Collector Java. No final, descobriu-se que foi o funcionamento incorreto deste serviço que levou a esta situação. Ao assumir o controle do Garbage Collector Java, eliminamos completamente o problema.

É assim que o software livre ajuda o sistema de gerenciamento de documentos no setor bancário a se desenvolver e crescer. Abordamos apenas as principais questões relacionadas ao sistema de monitoramento VTB SDO. Se você estiver interessado em detalhes, pergunte nos comentários, teremos o maior prazer em compartilhar nossa experiência com você.

Fonte: habr.com

Adicionar um comentário