Arquitetura de soluções: Deteção de anomalias com Machine Learning

Os serviços utilizados pelos departamentos de TI modernos geram grandes volumes de dados telemétricos para controlar diversos aspetos do estado de funcionamento operacional, desempenho do sistema, informações de utilização, métricas empresariais, alertas e muitos outros. Muitas vezes, contudo, a monitorização e recolha de informações de todos estes dados não é totalmente automatizada e pode estar sujeita a erros, dificultando a determinação eficaz e exata do estado de funcionamento do sistema a qualquer momento.

Esta solução de deteção de anomalias personalizável utiliza Machine Learning para garantir a elevada disponibilidade dos sistemas de TI e fornece um pipeline ponto a ponto que ingere dados de origens de dados no local e na cloud e comunica eventos anómalos a sistemas de pedidos de suporte e monitorização a jusante.

Com esta solução, irá detetar e corrigir rapidamente problemas com base nas métricas de estado de funcionamento subjacentes da infraestrutura de TI (CPU, memória, etc.), serviços (tempos limite, variações de SLA, cortes parciais, etc.), e noutros indicadores chave de desempenho (registo de tarefas pendentes de pedidos, falhas de início de sessão e pagamento, etc.).

Implementar no Azure

Utilize o seguinte modelo previamente criado para implementar esta arquitetura no Azure

Implementar no Azure

Procurar no GitHub

Machine Learning(Anomaly Detection) Service Bus topics(Publish/subscribe capabilities) Visual Studio Application Insights(Monitoring and telemetry) Event Hub(Event queue) Table Storage(Big Data store) Stream Analytics(Realtime analytics) Metadata Save ML output Score each dataset Publish anomalies detected Power BI Azure SQL DB(Anomaly detection results) Data Factory Time series data

Orientações de implementação

Produtos Documentação

Hubs de Eventos

Este é o ponto de entrada do pipeline, onde os dados de série de tempo não processados são ingeridos.

Stream Analytics

O Stream Analytics executa a agregação em intervalos de 5 minutos e agrega pontos de dados não processados por nome de métrica.

Armazenamento

O Armazenamento do Azure armazena dados agregados pela tarefa do Stream Analytics.

Gestor de Dados

O Data Factory chama a API de Deteção de Anomalias em intervalos regulares (a cada 15 minutos por predefinição) nos dados do Armazenamento do Azure. Armazena os resultados numa base de dados SQL.

Base de Dados SQL

A Base de Dados SQL armazena os resultados da API de Deteção de Anomalias, incluindo deteções de binários e classificações de deteção. Também armazena metadados opcionais enviados com os pontos de dados não processados, para permitir relatórios mais complicados.

Machine Learning Studio

Aloja a API de Deteção de Anomalias. Note que a API propriamente dita não tem monitorização de estado e precisa de pontos de dados históricos para serem enviados em cada chamada à API.

Service Bus

As anomalias detetadas são publicadas num tópico do Service Bus para permitir o consumo por serviços de monitorização externos.

Estatísticas das Aplicações

O Application Insights permite a monitorização do pipeline.

Power BI

O Power BI disponibiliza dashboards que mostram os dados não processados, bem como as anomalias detetadas.

Arquiteturas de soluções relacionadas