Tutorial: Monitorar dispositivos do IoT Edge

Aplica-se a:marca de seleção do IoT Edge 1.4 IoT Edge 1.4

Importante

IoT Edge 1.4 é a versão com suporte. Se você estiver em uma versão anterior, confira Atualizar o IoT Edge.

Use as pastas de trabalho do Azure Monitor para monitorar a integridade e o desempenho de suas implantações do Azure IoT Edge.

Neste tutorial, você aprenderá como:

  • Compreender quais métricas são compartilhadas por dispositivos do IoT Edge e como o módulo coletor de métricas as manipula.
  • Implantar o módulo do coletor de métricas em um dispositivo IoT Edge.
  • Exibir visualizações organizadas das métricas coletadas do dispositivo.

Pré-requisitos

Um dispositivo IoT Edge com o módulo sensor de temperatura simulado implantado. Se você não tem um dispositivo pronto, siga as etapas em Implantar seu primeiro módulo IoT Edge em um dispositivo virtual Linux para criar um usando uma máquina virtual.

Compreender as métricas do IoT Edge

Cada dispositivo IoT Edge depende de dois módulos, os módulos de runtime, que gerenciam o ciclo de vida e a comunicação de todos os outros módulos em um dispositivo. Esses módulos são chamados de Agente do IoT Edge e Hub do IoT Edge. Para saber mais sobre esses módulos, confira Compreender o runtime do Azure IoT Edge e sua arquitetura.

Os dois módulos de runtime criam métricas que permitem monitorar remotamente o modo como um dispositivo IoT Edge ou os módulos individuais dele estão desempenhando. O Agente do IoT Edge relata o estado de módulos individuais e o dispositivo de host, portanto, cria métricas, por exemplo, há quanto tempo um módulo está sendo executado corretamente ou a quantidade de RAM e o percentual de CPU que estão sendo usados no dispositivo. O hub do IoT Edge relata as comunicações no dispositivo, portanto, cria métricas, como o número total de mensagens enviadas e recebidas ou o tempo necessário para resolver um método direto. Para obter a lista completa de métricas disponíveis, confira Acessar métricas internas.

Essas métricas são expostas automaticamente por ambos os módulos para que você possa criar soluções próprias para acessar essas métricas e relatar informações delas. Para facilitar esse processo, a Microsoft fornece o módulo azureiotedge-metrics-collector que manipula esse processo para aqueles que não têm nem querem uma solução personalizada. O módulo coletor de métricas coleta as métricas dos dois módulos de runtime e de outros módulos que você queira monitorar e as transporta para fora do dispositivo.

O módulo do coletor de métricas funciona de uma entre duas maneiras possíveis para enviar suas métricas para a nuvem. A primeira opção, que usaremos neste tutorial, é enviar as métricas diretamente para o Log Analytics. A segunda opção, que é recomendada apenas se exigido pelas suas políticas de rede, é enviar as métricas por meio do Hub IoT e configurar uma rota para passar as mensagens de métrica para o Log Analytics. De qualquer forma, depois que as métricas estiverem em workspace do Log Analytics, elas estarão disponíveis para exibição por meio de pastas de trabalho do Azure Monitor.

Criar um workspace do Log Analytics

Um workspace do Log Analytics é necessário para coletar os dados de métricas e fornece uma linguagem de consulta e integração ao Azure Monitor para permitir que você monitore seus dispositivos.

  1. Entre no portal do Azure.

  2. Procure e selecione workspaces do Log Analytics.

  3. Selecione Criar e siga os prompts para criar um workspace.

  4. Assim que o workspace for criado, escolha Ir para o recurso.

  5. No menu principal, em Configurações, selecione Gerenciamento de agentes.

  6. Copie os valores de ID do workspace e Chave primária. Você usará esses dois valores posteriormente no tutorial para configurar o módulo do coletor de métricas para enviar as métricas para esse workspace.

Recuperar a ID do recurso do hub IoT

Ao configurar o módulo coletor de métricas, você concede a ele a ID do recurso do Azure Resource Manager para o hub IoT. Recupere essa ID agora.

  1. No portal do Azure, navegue até o seu hub IoT.

  2. No menu à esquerda, em Configurações, selecione Propriedades.

  3. Copie o valor de ID do recurso. Ele deve ter o formato /subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.Devices/IoTHubs/<iot_hub_name>.

Implantar o módulo coletor de métricas

Implante o módulo coletor de métricas em cada dispositivo que você deseja monitorar. Ele é executado no dispositivo como qualquer outro módulo e observa seus pontos de extremidade atribuídos em busca de métricas para coletar e enviar para a nuvem.

Siga estas etapas para implantar e configurar o módulo coletor:

  1. Entre no portal do Azure e acesse seu hub IoT.

  2. No menu à esquerda, selecione Dispositivos no menu Gerenciamento de dispositivos.

  3. Selecione a ID do dispositivo de destino na lista de dispositivos do IoT Edge para abrir a página de detalhes do dispositivo.

  4. Na barra de menus superior, selecione Definir Módulos para abrir a página de implantação de três etapas do módulo.

  5. A primeira etapa da implantação de módulos do portal é declarar quais Módulos devem estar em um dispositivo. Se você estiver usando o mesmo dispositivo que criou no guia de início rápido, você já deverá ver SimulatedTemperatureSensor listado. Se não estiver, adicione-o agora:

    1. Selecione Adicionar e escolha Módulo do Marketplace no menu suspenso.

    2. Pesquisar por SimulatedTemperatureSensor e selecione-o.

  6. Adicione e configure o módulo coletor de métricas:

    1. Selecione Adicionar e escolha Módulo do Marketplace no menu suspenso.

    2. Pesquise por Coletor de Métricas do IoT Edge e selecione-o.

    3. Selecione o módulo coletor de métricas na lista de módulos para abrir a respectiva página de detalhes de configuração.

    4. Navegue até a guia Variáveis de ambiente.

    5. Atualize os seguintes valores:

      Name Valor
      ResourceId A ID do recurso do hub IoT que você recuperou em uma seção anterior.
      UploadTarget AzureMonitor
      LogAnalyticsWorkspaceId A ID do workspace do Log Analytics que você recuperou em uma seção anterior.
      LogAnalyticsSharedKey A chave do Log Analytics que você recuperou em uma seção anterior.
    6. Exclua a variável de ambiente OtherConfig, que é um espaço reservado para opções de configuração extras que você talvez queira adicionar no futuro. Isso não é necessário para este tutorial.

    7. Para salvar suas alterações, escolha Atualizar.

  7. Selecione Avançar: rotas para prosseguir à segunda etapa para a implantação de módulos.

  8. O portal adiciona automaticamente uma rota para o coletor de métricas. Você usaria essa rota se tivesse configurado o módulo coletor para enviar as métricas pelo Hub IoT, mas neste tutorial, estamos enviando as métricas diretamente para o Log Analytics, portanto, não precisaremos dela. Exclua a rota FromMetricsCollectorToUpstream.

  9. Selecione Examinar + criar para continuar para a etapa final para a implantação de módulos.

  10. Selecione Criar para concluir a implantação.

Depois de concluir a implantação do módulo, retorne à página de detalhes do dispositivo, em que você pode ver quatro módulos listados como Especificado na Implantação. Pode levar alguns minutos para que todos os quatro módulos sejam listados como Relatados pelo Dispositivo, o que significa que eles foram iniciados com êxito e relataram o próprio status ao hub IoT. Atualize a página para ver o status mais recente.

Monitorar a integridade do dispositivo

Pode levar até quinze minutos para que as pastas de trabalho de monitoramento do dispositivo estejam prontas para serem exibidas. Depois de implantar o módulo coletor de métricas, ele começa a enviar mensagens de métricas para Log Analytics, no qual elas são organizadas em uma tabela. A ID do recurso do hub IoT que você forneceu vincula as métricas que são ingeridas ao hub ao qual pertencem. Como resultado, as pastas de trabalho do IoT Edge organizadas podem recuperar métricas consultando a tabela de métricas pela ID do recurso.

O Azure Monitor fornece três modelos de pasta de trabalho padrão para IoT:

  • A pasta de trabalho Exibição da Frota mostra a integridade dos dispositivos em vários recursos de IoT. A exibição permite configurar limites para determinar a integridade do dispositivo e apresenta agregações de métricas primárias por dispositivo.
  • A pasta de trabalho Detalhes do Dispositivo fornece visualizações em três categorias: mensagens, módulos e host. A exibição de mensagens visualiza as rotas de mensagem para o dispositivo e relata a integridade geral do sistema de mensagens. A exibição de módulos mostra o desempenho dos módulos individuais em um dispositivo. A exibição de host mostra informações sobre o dispositivo host, incluindo informações de versão para componentes de host e uso de recursos.
  • A exibição de pasta de trabalho Alertas apresenta alertas para dispositivos em vários recursos de IoT.

Explorar a exibição de frota e as pastas de trabalho de instantâneo de integridade

A pasta de trabalho de exibição de frota mostra todos os seus dispositivos e permite selecionar dispositivos específicos para ver os respectivos instantâneos de integridade. Use as seguintes etapas para explorar as visualizações da pasta de trabalho:

  1. Volte para a página do hub IoT no portal do Azure.

  2. Role para baixo no menu principal para encontrar a seção Monitoramento e selecione Pastas de trabalho.

    Selecione as pastas de trabalho para abrir a galeria de pastas de trabalho do Azure Monitor.

  3. Selecione a pasta de trabalho Exibição da Frota.

  4. Você deve ver o seu dispositivo, que está executando o módulo do coletor de métricas. O dispositivo é listado como íntegro ou não íntegro.

  5. Selecione o nome do dispositivo para exibir as métricas detalhadas do dispositivo.

  6. Em qualquer um dos gráficos de tempo, use os ícones de seta sob o eixo X ou clique no gráfico e arraste o cursor para alterar o intervalo de tempo.

    Clique e arraste ou use os ícones de seta em qualquer gráfico para alterar o intervalo de tempo.

  7. Feche a pasta de trabalho de instantâneo de integridade. Selecione Pastas de Trabalho na pasta de trabalho de exibição da frota para retornar à galeria de pastas de trabalho.

Explorar a pasta de trabalho de detalhes do dispositivo

A pasta de trabalho de detalhes do dispositivo mostra detalhes de desempenho de um dispositivo individual. Use as seguintes etapas para explorar as visualizações da pasta de trabalho:

  1. Na galeria de pastas de trabalho, selecione a pasta de trabalho Detalhes do dispositivo IoT Edge.

  2. A primeira página que você vê na pasta de trabalho de detalhes do dispositivo é a exibição de mensagens com a guia de roteamento selecionada.

    À esquerda, uma tabela exibe as rotas no dispositivo, organizadas por ponto de extremidade. Para nosso dispositivo, vemos que o ponto de extremidade upstream, que é o termo especial usado para roteamento para o hub IoT, está recebendo mensagens da saída temperatureOutput do módulo do sensor de temperatura simulado.

    À direita, um grafo acompanha o número de clientes conectados ao longo do tempo. Você pode clicar e arrastar o grafo para alterar o intervalo de tempo.

    Selecione a exibição de mensagens para ver o status das comunicações no dispositivo.

  3. Selecione a guia grafo para ver uma visualização diferente das rotas. Na página do grafo, para reorganizá-lo, você pode arrastar e soltar os diferentes pontos de extremidade. Esse recurso é útil quando você tem muitas rotas a serem visualizadas.

    Selecione a exibição de grafo para ver um grafo interativo das rotas do dispositivo.

  4. A guia integridade relata problemas com mensagens, como mensagens perdidas ou clientes desconectados.

  5. Selecione a exibição de módulos para ver o status de todos os módulos implantados no dispositivo. Você pode selecionar cada um dos módulos para ver detalhes sobre o respectivo uso de CPU e de memória.

    Selecione a exibição de módulos para ver o status de cada módulo implantado no dispositivo.

  6. Selecione a exibição de host para ver informações sobre o dispositivo host, incluindo os respectivos sistema operacional, versão do daemon do IoT Edge e uso de recursos.

Ver logs de módulo

Depois de ver as métricas de um dispositivo, talvez você queira se aprofundar e inspecionar os módulos individuais. O IoT Edge dá suporte à solução de problemas no portal do Azure com um recurso de log de módulo ao vivo.

  1. Na pasta de trabalho de detalhes do dispositivo, selecione Solucionar problemas ao vivo.

    Selecione o botão solucionar problemas ao vivo no canto superior direito da pasta de trabalho de detalhes do dispositivo.

  2. A página de solução de problemas é aberta para os logs edgeAgent do dispositivo IoT Edge. Se você selecionou um intervalo de tempo específico na pasta de trabalho de detalhes do dispositivo, essa configuração será passada para a página de solução de problemas.

  3. Use o menu suspenso para alternar para os logs de outros módulos em execução no dispositivo. Use o botão Reiniciar para reiniciar um módulo.

    Use o menu suspenso para ver os logs de diferentes módulos e use o botão reiniciar para reiniciar os módulos.

A página de solução de problemas também pode ser acessada pela página de detalhes do dispositivo IoT Edge. Para obter mais informações, confira Solucionar problemas de dispositivos do IoT Edge no portal do Azure.

Próximas etapas

Conforme você continua no restante dos tutoriais, mantenha o módulo coletor de métricas em seus dispositivos e retorne a essas pastas de trabalho para ver como as informações se alteram conforme você adiciona módulos e roteamento mais complexos.

Continue para o próximo tutorial em que você configura seu ambiente de desenvolvedor para começar a implantar módulos personalizados em seus dispositivos.