Adicionar um encaminhamento para um hub de eventos e uma consulta para detetar anomalias

Concluído

Criar um encaminhamento de mensagens para analisar a telemetria em tempo real

O segundo encaminhamento de mensagens que precisamos de criar utiliza um Hub de Eventos do Azure. Este encaminhamento é criado para o Hub IoT e, em seguida, adicionado como uma entrada para a tarefa do Azure Stream Analytics.

É preciso atualizar a tarefa para lidar com duas entradas e duas saídas e uma consulta mais complexa.

O processo de criação do segundo encaminhamento segue um processo semelhante ao primeiro, embora seja diferente ao nível da criação de um ponto final. Um Hub de Eventos é escolhido como o ponto final para o encaminhamento de telemetria.

No próximo exercício, vai criar um espaço de nomes dos Hubs de Eventos. Em seguida, deve criar uma instância do espaço de nomes para concluir a configuração de um Hub de Eventos. Pode utilizar esta instância como o destino para um novo encaminhamento de mensagens.

Após o encaminhamento ser criado, avançamos para a atualização da consulta.

Fazer uma chamada para um modelo de ML incorporado

Vamos fazer uma chamada para a função incorporada AnomalyDetection_SpikeAndDip.

A função AnomalyDetection_SpikeAndDip utiliza uma janela deslizante de dados e examina-a para detetar anomalias. A janela deslizante poderia ser, por exemplo, os dois minutos mais recentes de dados de telemetria. Esta janela deslizante acompanha o fluxo de telemetria quase em tempo real. Se o tamanho da janela deslizante for aumentado, geralmente a precisão da deteção de anomalias também aumentará. Assim como a latência.

À medida que o fluxo de dados continua, o algoritmo estabelece um intervalo normal de valores e, em seguida, compara os novos valores com essas normas. O resultado é uma classificação para cada valor, uma percentagem que determina o nível de confiança de que o valor indicado é anormal. Os níveis de confiança baixos são ignorados, mas a pergunta aqui é que percentagem do valor de confiança é aceitável? Na nossa consulta, vamos definir este ponto decisivo como 95%.

Existem sempre complicações, como quando existem lacunas nos dados (por exemplo, o tapete rolante para durante algum tempo). O algoritmo lida com as entradas em branco nos dados ao introduzir valores.

Os picos e quedas nos dados telemétricos são anomalias temporárias. No entanto, como estamos a lidar com ondas sinusoidais para vibração, podemos esperar um breve período de valores “normais” que seguem um valor elevado ou baixo que aciona um alerta de anomalia. O operador está a procurar um cluster de anomalias que ocorrem num curto período de tempo. Este tipo de cluster indica que algo está errado.

Existem outros modelos de ML incorporados, como um modelo que deteta tendências. Não incluímos estes modelos como parte deste módulo, mas o estudante é incentivado a investigar de forma mais aprofundada.

Visualizar dados com o Power BI

A visualização de dados numéricos, especialmente os volumes, é um desafio em si. Como podemos alertar um operador humano quanto a uma sequência de anomalias que infere que algo está errado?

A solução que utilizamos neste módulo é usar alguma funcionalidade integrada do Power BI. E a capacidade do Azure Stream Analytics para enviar dados num formato em tempo real que o Power BI pode processar.

Utilizamos a funcionalidade do Power BI do dashboard para criar diversos mosaicos. Um mosaico contém a medida de vibração real. Outro mosaico é um medidor, que mostra o nível de confiança de 0,0 a 1,0 que o valor é uma anomalia. Um terceiro mosaico indica se um nível de confiança 95% foi atingido. O mosaico principal mostra o número de anomalias detetadas na última hora. Este mosaico clarifica se um conjunto de anomalias é detetado em rápida sucessão.

O quarto mosaico inclui a hora e o eixo X. Este mosaico permite comparar as anomalias com texto vermelho na janela da consola de telemetria. Existe algum cluster de anomalias que é detetado quando vibrações forçadas, crescentes ou ambas estão em ação?

Vamos criar o Hub de Eventos, criar um segundo encaminhamento, atualizar a consulta SQL, criar um dashboard do Power BI e executar tudo isto!