Monitorización + proba de carga = predición e sen fallos

O departamento de informática de VTB varias veces tivo que facer fronte a situacións de emerxencia no funcionamento dos sistemas, cando a carga sobre eles aumentou moitas veces. Polo tanto, existía a necesidade de desenvolver e probar un modelo que predecía a carga máxima nos sistemas críticos. Para iso, os especialistas informáticos do banco configuraron o seguimento, analizaron datos e aprenderon a automatizar as previsións. Dirémosche nun pequeno artigo que ferramentas axudaron a prever a carga e se axudaron a optimizar o traballo.

Monitorización + proba de carga = predición e sen fallos

Os problemas cos servizos de alta carga xorden en case todas as industrias, pero para o sector financeiro son críticos. Á hora X, todas as unidades de combate debían estar listas, polo que era necesario saber de antemán o que podía ocorrer e mesmo determinar o día no que saltaría a carga e que sistemas se atoparían con ela. Hai que tratar e previr os fallos, polo que nin sequera se falou da necesidade de implantar un sistema de análise preditiva. Foi necesario modernizar os sistemas baseados en datos de seguimento.

Analíticas de xeonllos

O proxecto de nóminas é un dos máis sensibles en caso de fracaso. É o máis comprensible para a previsión, polo que decidimos comezar por el. Debido á alta conectividade, outros subsistemas, incluídos os servizos de banca remota (RBS), poden experimentar problemas en momentos de máxima carga. Por exemplo, os clientes que estaban encantados co SMS sobre a recepción de diñeiro comezaron a usalo activamente. A carga podería saltar en máis dunha orde de magnitude. 

O primeiro modelo de predición creouse manualmente. Collemos as cargas do último ano e calculamos en que días se esperan os picos máximos: por exemplo, o 1, 15 e 25, así como os últimos días do mes. Este modelo requiriu custos laborais significativos e non ofrecía unha previsión precisa. Non obstante, identificou os pescozos de botella nos que era necesario engadir hardware e permitiu optimizar o proceso de transferencia de diñeiro pactando con clientes ancla: para non dar soldos dun só trago, espazáronse no tempo as transaccións de distintas rexións. Agora procesámolos en partes que a infraestrutura informática do banco pode "mastigar" sen fallar.

Unha vez recibido o primeiro resultado positivo, pasamos á automatización da previsión, unha ducia de áreas críticas máis esperaban a súa quenda.

Enfoque integrado

VTB implementou un sistema de monitorización de MicroFocus. De aí tomamos a recollida de datos para a previsión, un sistema de almacenamento e un sistema de informes. De feito, a vixilancia xa estaba en marcha, só quedaba engadir métricas, un módulo de predición e crear novos informes. Esta decisión está apoiada polo contratista externo Technoserv, polo que o traballo principal na implementación do proxecto recaeu nos seus especialistas, pero nós mesmos construímos o modelo. O sistema de predición foi baseado en Prophet, un produto de código aberto desenvolvido por Facebook. É doado de usar e intégrase facilmente coas nosas ferramentas de monitorización integradas instaladas e Vertica. En liñas xerais, o sistema analiza o gráfico de carga e extrapola a partir das series de Fourier. Tamén é posible engadir certos coeficientes por día, tomados do noso modelo. As métricas tómanse sen intervención humana, a previsión recalcúlase automaticamente unha vez por semana e envíanse novos informes aos destinatarios. 

Este enfoque identifica as principais ciclicidades, por exemplo, anual, mensual, trimestral e semanal. Pagos de salarios e anticipos, períodos vacacionais, vacacións e rebaixas - todo isto afecta ao número de chamadas aos sistemas. Descubriuse, por exemplo, que algúns ciclos se solapan entre si, e a principal carga (75%) dos sistemas procede do Distrito Federal Central. As persoas xurídicas e os individuos compórtanse de forma diferente. Se a carga dos "físicos" distribúese de forma relativamente uniforme durante os días da semana (son moitas pequenas transaccións), entón para as empresas o 99,9% gástase en horas de traballo e as transaccións poden ser curtas ou poden procesarse en varios prazos. minutos ou incluso horas.

Monitorización + proba de carga = predición e sen fallos

A partir dos datos obtidos determínanse tendencias a longo prazo. O novo sistema revelou que a xente está a moverse en masa aos servizos bancarios remotos. Todo o mundo sábeo, pero non esperabamos tal escala e nun principio non cremos nela: o número de chamadas ás oficinas bancarias está a diminuír moi rapidamente e o número de transaccións remotas crece exactamente na mesma cantidade. En consecuencia, a carga dos sistemas tamén está crecendo e seguirá medrando. Agora prevemos a carga ata febreiro de 2020. Os días normais pódense prever cun erro do 3% e os días pico cun erro do 10%. Este é un bo resultado.

Trampas

Como de costume, isto non estivo exento de dificultades. O mecanismo de extrapolación mediante series de Fourier non cruza ben o cero: sabemos que as persoas xurídicas xeran poucas transaccións os fins de semana, pero o módulo de predición produce valores que están lonxe de cero. Era posible corrixilos á forza, pero as muletas non son o noso método. Ademais, tivemos que resolver o problema de recuperar datos sen dor dos sistemas fonte. A recollida regular de información require recursos informáticos serios, polo que creamos cachés rápidos mediante a replicación e recibimos datos empresariais de réplicas. A ausencia de carga adicional nos sistemas mestres nestes casos é un requisito de bloqueo.

Novos retos

Resolveuse a simple tarefa de prever picos: non houbo fallos relacionados coa sobrecarga no banco desde maio deste ano, e o novo sistema de previsión xogou un papel importante nisto. Si, resultou ser insuficiente, e agora o banco quere entender o perigoso que son os picos para iso. Necesitamos predicións utilizando métricas das probas de carga, e para preto do 30% dos sistemas críticos isto xa está funcionando, o resto está en proceso de obtención de predicións. Na seguinte fase, imos predecir a carga dos sistemas non en transaccións comerciais, senón en termos de infraestrutura de TI, é dicir, baixaremos unha capa. Ademais, cómpre automatizar totalmente a recollida de métricas e a construción de previsións en función delas, para non facer fronte ás descargas. Non hai nada extravagante: só estamos cruzando a supervisión e as probas de carga de acordo coas mellores prácticas mundiais.

Fonte: www.habr.com

Engadir un comentario