Exercício – adicionar um encaminhamento para um hub de eventos e uma consulta para detetar anomalias

Concluído

Neste exercício, vamos adicionar uma consulta à tarefa do Stream Analytics e, em seguida, utilizar o Microsoft Power BI para ver a saída da consulta. A consulta procura picos e quedas nos dados da vibração e comunica as anomalias. Devemos criar o segundo encaminhamento, após criar uma instância de um espaço de nomes dos Hubs de Eventos.

Criar um espaço de nomes dos Hubs de Eventos

  1. A partir da página inicial do portal Azure, selecione Criar um recurso. Procure por Centros de Eventos e selecione Criar.

    Screenshot mostrando o botão para criar Centros de Eventos.

    Aparece o painel Create Namespace.

  2. No separador Básicos, introduza os seguintes valores para cada definição.

    Definição Valor
    DETALHES DO PROJETO
    Subscrição Subscrição de Assistente
    Grupo de recursos [nome do grupo de recursos do sandbox]
    DETALHES DE INSTÂNCIA
    Nome do espaço de nomes Insira vibraçãoNamespace
    Localização Selecione uma região geográfica mais próxima de si
    Escalão de preço Standard
    Unidades de Débito 1

    Screenshot mostrando o botão para criar o Namespace.

  3. Selecione Rever + criar, e quando a validação tiver sucesso, selecione Criar. Esta operação poderá demorar alguns minutos.

Criar uma instância dos Hubs de Eventos

  1. No painel de visão geral do espaço de nomes que acabou de criar, selecione Ir para o recurso. Aparece o painel Namespace do Event Hubs.

  2. Selecione Centro de Eventos. É preciso criar uma instância deste espaço de nomes. Observe que a secção CONTEÚDOS DO ESPAÇO DE NOMES tem zero entradas.

    Screenshot mostrando o botão para criar Centros de Eventos.

    Aparece o painel Create Event Hub.

  3. No campo Nome, introduza a vibração. Deixe os outros campos à sua padrão e selecione Criar.

    Screenshot mostrando os campos necessários para criar uma instância do Event Hub.

  4. Aguarde até que o recurso seja implementado. Quando a implantação terminar, podemos começar a construir a rota em si.

Criar um encaminhamento para um Hub de Eventos

  1. Localize a página de descrição geral do VibrationSensorHub.

  2. Selecione o encaminhamento de mensagens a partir do painel de menus esquerdo e, em seguida, selecione Adicionar para adicionar uma rota.

  3. Nomeie a rota vibraçãoTelemetryRoute e, em seguida, selecione Adicionar ponto final. Desta vez, selecione Event Hubs para o tipo de ponto final. Aparece o painel de ponta do centro de eventos Add a do centro de eventos.

  4. Introduza vibraçãoTelemetryEndpoint, para o nome Endpoint.

  5. Para o espaço de nome do hub do evento , selecione a sua entrada na secção anterior, vibrationNamespace.

  6. Para a instância do centro de eventos, selecione vibrationeventhubinstance.

    Screenshot mostrando os campos completos para um ponto final do Event Hub.

  7. Selecione Criar e aguarde a mensagem de sucesso.

  8. Aparece o painel de rota Add a Route. Lembre-se que “VSTel” é uma cadeia que utilizamos na aplicação de dispositivo. Altere a Consulta de encaminhamento para o seguinte.

    sensorID = "VSTel"
    
  9. Selecione Guardar e verifique se as suas duas rotas de mensagens se parecem com a seguinte imagem.

    Screenshot mostrando o resumo das definições para as duas rotas de mensagem.

Atualizar a consulta da tarefa do Azure Stream Analytics

Com este novo encaminhamento em vigor, agora precisamos de atualizar a nossa tarefa do Stream Analytics.

Adicionar uma nova entrada à tarefa

  1. No portal do Azure, selecione vibrationJob na lista de recursos.

  2. Selecione a secção entradas e selecione Adicionar entrada de fluxo e, em seguida, selecione O Centro de Eventos.

  3. Na caixa de detalhes de entrada, introduza vibraçãoEventInput como pseudónimo de Entrada. Confirme que a opção Selecionar o Hub de Evento a partir das subscrições está marcada, assim como a subscrição de trabalho.

  4. Em Espaço de nomes do Hub de Eventos, selecione o espaço de nomes que introduziu na secção anterior. Além disso, selecione a instância que criou para o nome Event Hub. Pode deixar todos os outros campos com os valores predefinidos.

  5. Selecione Guardar.

Adicionar uma nova saída à tarefa

  1. No caminho de cima, volte para o seu trabalho. Deve agora ver duas entradas. Selecione o ícone para adicionar uma saída.

  2. Selecione Adicionar e, em seguida, selecione Power BI.

    Captura de ecrã a mostrar a seleção do Power BI, para uma nova saída.

  3. Autorize a ligação. Pode ter de se inscrever para uma conta Microsoft gratuita se ainda não tiver uma.

  4. Conclua a entrada Power BI. Para o pseudónimo de saída, introduza vibraçãoBI.

  5. Para o nome dataset, introduza o conjunto de vibrações Dataset. Para o nome da tabela, introduza a mesa de vibração.

  6. Para Área de trabalho de grupo, procure A minha área de trabalho.

  7. Para Modo de autenticação, confirme que Token de utilizador está selecionado.

    Screenshot mostrando os campos completos de uma saída Power BI.

  8. Selecione Guardar.

  9. Mais uma vez, use o caminho de cima para voltar ao trabalho.

Atualizar a consulta SQL da tarefa

  1. Selecione Editar a consulta à direita da janela.

  2. Copie e cole a consulta SQL que se segue, antes da consulta breve existente.

     WITH AnomalyDetectionStep AS
     (
         SELECT
             EVENTENQUEUEDUTCTIME AS time,
             CAST(vibration AS float) AS vibe,
             AnomalyDetection_SpikeAndDip(CAST(vibration AS float), 95, 120, 'spikesanddips')
                 OVER(LIMIT DURATION(second, 120)) AS SpikeAndDipScores
         FROM vibrationEventInput
     )
     SELECT
         time,
         vibe,
         CAST(GetRecordPropertyValue(SpikeAndDipScores, 'Score') AS float) AS
         SpikeAndDipScore,
         CAST(GetRecordPropertyValue(SpikeAndDipScores, 'IsAnomaly') AS bigint) AS
         IsSpikeAndDipAnomaly
     INTO vibrationBI
     FROM AnomalyDetectionStep
    

    Nota

    Esta primeira secção da consulta utiliza os dados de vibração e examina os 120 segundos anteriores. A função AnomalyDetection_SpikeAndDip devolverá um parâmetro Score e um parâmetro IsAnomaly. A pontuação é determinada pela certeza que o modelo ML é que o valor dado é uma anomalia, especificada em percentagem. Se a pontuação for superior a 95%, o IsAnomaly parâmetro tem um valor de 1; caso contrário, tem um valor de IsAnomaly 0. Observe os parâmetros 120 e 95 na primeira secção da consulta. A segunda secção da consulta envia a hora, a vibração e os parâmetros de anomalia para vibrationBI.

  3. Selecione Guardar consulta e volte para a página inicial do trabalho.

  4. Verifique cuidadosamente que usou os mesmos nomes na consulta SQL que usou nas Entradas e Saídas.

    Screenshot mostrando a nova consulta SQL e as entradas e saídas para a consulta.

  5. Se tudo parecer bem, inicie a tarefa novamente.

Para que um utilizador faça muito sentido da saída desta consulta, precisamos visualizar os dados de uma forma amigável. Uma forma de fazer esta visualização é criar um dashboard do Power BI.

Crie um dashboard para visualizar a consulta utilizando o Microsoft Power BI

  1. No browser, aceda a outlook.office365.com. Este URL leva-o para a caixa de entrada de e-mail. Poderá ter de introduzir as suas informações de início de sessão da Conta Microsoft.

  2. Utilize o ícone de nove pontos (superior à esquerda) para apresentar uma lista de recuos. Selecione Todas as aplicações. Desloque-se para baixo e selecione Power BI.

    Screenshot mostrando a seleção de Power BI do portal Office 365.

  3. Abra A minha área de trabalho.

  4. Nos conjuntos de dados, verifique se aparece o Dataset de vibração. Caso contrário, talvez precise de esperar um pouco para que a lista seja preenchida.

  5. No topo direito, selecione Criar e, em seguida, selecione Dashboard da lista de dropdown.

  6. Dê ao painel um nome amigável, por exemplo, Painel de Vibração.

  7. No ecrã em branco que se segue, selecione Adicionar azulejo. Selecione dados de streaming personalizados, seguinte, e, em seguida, selecione o conjunto de dados de vibração da lista de conjuntos de dados.

    Screenshot mostrando as opções ao adicionar um azulejo do painel.

  8. Para a primeira carta, selecione Visualization Type como Gauge; e Valor como vibração. Selecione Seguinte e, em seguida, introduza Vibração na caixa de detalhes do azulejo.

  9. Selecione Aplicar.

  10. Utilize o ícone no canto inferior direito do mosaico para o reduzir para o tamanho mais pequeno permitido.

  11. Repita o processo com o mesmo conjunto de dados e fonte de azulejos para um segundo azulejo. Desta vez, selecione o gráfico de barras agrupados como o Tipo de Visualização, e SpikeAndDipScore como o Valor. Não há necessidade de acrescentar um título. Selecione Seguinte e, em seguida, selecione Aplicar.

  12. Novamente, reduza este mosaico para o tamanho mais pequeno possível.

  13. Crie um terceiro mosaico. Desta vez, selecione Card como o Tipo de Visualização, e IsSpikeAndDipAnomaly em Campos. Mais uma vez, selecione Apply, e encolher o azulejo.

  14. Agora crie um quarto azulejo. Desta vez, é um pouco mais complexo. Selecione a tabela de linha para o Tipo de Visualização e, em seguida, selecione o tempo para o eixo. Em Valores, selecione novamente IsSpikeAndDipAnomaly. Para intervalo de tempo, selecione os últimos 60 minutos. Insira anomalias ao longo da hora para o título de azulejo. Selecione Aplicar.

  15. Desta vez, expanda o azulejo para um tamanho três vezes maior do que os azulejos mais pequenos, e disponha o seu painel semelhante à seguinte imagem.

    Screenshot mostrando o painel de Power BI completo identificando anomalias.

    Existe uma latência com tantos encaminhamentos e ligações, mas agora está a ver os dados de vibração que estão a chegar?

  16. Deixe o trabalho funcionar durante alguns minutos, pelo menos, antes do ML modelo começar. Compare a saída da consola da aplicação do dispositivo com o painel de instrumentos Power BI. Consegue correlacionar as vibrações forçadas e crescentes para executar uma deteção de anomalias?

Se estiver a ver um painel de Power BI ativo, semelhante ao anterior, está prestes a completar este módulo. Bom trabalho.

Termine o módulo com uma breve verificação de conhecimento.