Uma Nova Abordagem para Detecção de Anomalias em Implantações de Software
Esse framework melhora a detecção de problemas de implantação de software pra melhorar os serviços online.
― 5 min ler
Índice
No mundo tech de hoje, muitos serviços online são construídos em grandes sistemas de TI onde as atualizações de software acontecem regularmente. Essas atualizações visam melhorar os serviços, mas às vezes podem causar problemas. Se um novo pedaço de código tem falhas, pode deixar o serviço mais lento ou até causar uma pane total. Isso pode afetar não só o serviço que está sendo atualizado, mas também outros serviços que dependem dele. Por isso, monitorar as atualizações de software é essencial para identificar e consertar rapidamente qualquer problema que apareça.
A Importância de Monitorar Implantação
Monitorar as Implantações de software é crucial pra evitar interrupções nos serviços. Uma implantação é o processo de atualizar software ou configurações em um sistema, e cada implantação pode impactar o desempenho de vários serviços interconectados. Monitoramento contínuo ajuda a pegar qualquer problema potencial assim que ele surge, permitindo que a equipe tome uma atitude antes que os clientes percebam qualquer situação.
Detecção de Anomalias
Desafios naDetecção de anomalias se refere a identificar padrões incomuns que podem indicar um problema. No contexto das implantações de software, esses padrões podem ser difíceis de perceber por causa de vários desafios:
Heterogeneidade das Implantações: Diferentes serviços podem usar conjuntos diferentes de métricas de desempenho, dificultando a comparação direta do desempenho. Por exemplo, um serviço que exige muita capacidade de computação vai ter níveis normais de desempenho diferentes de um serviço que envia notificações.
Requisitos de Baixa Latência: Em muitos casos, as implantações acontecem rapidamente. Uma implantação pode durar apenas alguns minutos, então as ferramentas precisam analisar os dados em tempo real pra pegar anomalias na hora.
Definições Ambíguas de Anomalias: O que é considerado uma anomalia pode variar. Uma queda súbita no desempenho pode indicar um problema, mas também pode ser uma parte normal do lançamento de um novo recurso. Definições adequadas são necessárias pra diferenciar os dois.
Rótulos Limitados para Supervisão: Em muitos casos, podemos ter poucos rótulos disponíveis pra treinar modelos sobre o que constitui um comportamento normal ou anormal.
Pra enfrentar esses problemas, novos métodos de detecção de anomalias foram desenvolvidos.
Uma Nova Estrutura para Detecção de Anomalias
A nova estrutura visa melhorar a forma como detectamos anomalias nas implantações de software, abordando os desafios únicos que encontramos. A estrutura é composta por duas partes principais:
Extrator de Características Online: Essa parte coleta e transforma dados de diferentes serviços em um espaço de características uniforme, assim as métricas de vários serviços podem ser comparadas diretamente.
Módulo de Detecção de Anomalias: Esse módulo usa os dados transformados pra identificar quais implantações estão agindo de forma incomum.
Componentes da Estrutura
Extração de Características Online
O extrator de características é vital porque ele lida com diferentes tipos de dados de várias implantações. Ele funciona convertendo métricas de desempenho brutas em pontuações comparáveis com base no desempenho histórico. Isso permite que anomalias sejam detectadas em tempo real, mesmo quando os dados variam em comprimento ou tipo.
Características Baseadas em Regras: Essa abordagem usa regras pré-definidas baseadas em conhecimento de especialistas pra pontuar métricas. Se uma métrica ultrapassa um certo limite, ela é marcada como potencialmente uma anomalia.
Características Baseadas em Algoritmos: Essas características aplicam algoritmos bem conhecidos pra identificar padrões incomuns com base em dados históricos. Isso ajuda a localizar métricas que estão apresentando desempenho anormal.
Características de Meta-Dados: Dados adicionais estáticos sobre cada serviço, como sua configuração, ajudam a fornecer contexto pras métricas que estão sendo analisadas.
Modelo de Detecção de Anomalias
Uma vez que as características foram extraídas, elas são alimentadas no modelo de detecção de anomalias. Esse modelo combina diferentes técnicas pra melhorar sua capacidade de identificar problemas:
Modelo Semi-Supervisionado de Uma Classe Profunda: Esse método usa um pequeno número de exemplos rotulados pra aprender como é o comportamento normal e identifica tudo fora disso como uma anomalia. É especialmente eficaz em situações onde os dados são ruidosos ou incompletos.
Detector Supervisionado de Anomalias: Um segundo modelo é usado pra confirmar previsões feitas pelo primeiro modelo. Isso cria um sistema mais robusto no geral.
Avaliando a Estrutura
A eficácia da nova estrutura foi testada usando dados reais de implantações. Os resultados mostram melhorias significativas na identificação de anomalias em comparação com métodos existentes. Aqui estão alguns achados notáveis:
O novo modelo pode superar os melhores métodos por uma margem considerável, mostrando suas forças em lidar com os desafios únicos das implantações de software.
Ele permite um melhor monitoramento de vários serviços, possibilitando respostas mais rápidas a problemas assim que surgem.
Avaliações de usuários indicam que o modelo é adequado pra aplicações do mundo real e pode melhorar a experiência do usuário minimizando as interrupções causadas por implantações defeituosas.
Conclusão
Com aplicativos nativos na nuvem se tornando mais comuns na indústria de tecnologia, monitorar efetivamente as implantações de software é vital. A estrutura proposta aborda os desafios comuns associados à detecção de anomalias nesses sistemas. Usando uma combinação de extração de características e técnicas avançadas de detecção de anomalias, ela melhora a capacidade de detectar problemas antes que eles se transformem em problemas maiores. Isso ajuda a garantir operações mais suaves para serviços online e melhores experiências pros usuários.
Título: MELODY: Robust Semi-Supervised Hybrid Model for Entity-Level Online Anomaly Detection with Multivariate Time Series
Resumo: In large IT systems, software deployment is a crucial process in online services as their code is regularly updated. However, a faulty code change may degrade the target service's performance and cause cascading outages in downstream services. Thus, software deployments should be comprehensively monitored, and their anomalies should be detected timely. In this paper, we study the problem of anomaly detection for deployments. We begin by identifying the challenges unique to this anomaly detection problem, which is at entity-level (e.g., deployments), relative to the more typical problem of anomaly detection in multivariate time series (MTS). The unique challenges include the heterogeneity of deployments, the low latency tolerance, the ambiguous anomaly definition, and the limited supervision. To address them, we propose a novel framework, semi-supervised hybrid Model for Entity-Level Online Detection of anomalY (MELODY). MELODY first transforms the MTS of different entities to the same feature space by an online feature extractor, then uses a newly proposed semi-supervised deep one-class model for detecting anomalous entities. We evaluated MELODY on real data of cloud services with 1.2M+ time series. The relative F1 score improvement of MELODY over the state-of-the-art methods ranges from 7.6% to 56.5%. The user evaluation suggests MELODY is suitable for monitoring deployments in large online systems.
Autores: Jingchao Ni, Gauthier Guinet, Peihong Jiang, Laurent Callot, Andrey Kan
Última atualização: 2024-06-06 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2401.10338
Fonte PDF: https://arxiv.org/pdf/2401.10338
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.