Compartilhar via


Visão geral do diagnóstico da Atualização de Dispositivo para Hub IoT

A Atualização de Dispositivo para Hub IoT tem várias funcionalidades que ajudam você a diagnosticar e a solucionar problemas do lado do dispositivo. Existem dois recursos de diagnóstico disponíveis na versão do agente v0.8.0:

  • Os códigos de erro de implantação agora podem ser exibidos diretamente na versão prévia mais recente da interface do usuário da Atualização de Dispositivo

  • A coleção de logs remotos permite a criação de operações de log, que instruem os dispositivos de destino a carregar logs de diagnóstico no dispositivo para uma conta de armazenamento de Blob do Azure vinculada

Códigos de erro de implantação na interface do usuário

Quando um dispositivo relata uma falha de implantação para o serviço de Atualização de Dispositivo, a interface do usuário da Atualização de Dispositivo exibe resultCode e extendedResultCode relatados do dispositivo na interface do usuário. Use as seguinte etapas para ver esses códigos:

  1. No portal do Azure, navegue para o hub IoT.

  2. Selecione Atualizações e navegue até a guia Grupos e Implantações.

  3. Selecione o nome de um grupo com uma implantação ativa para acessar a página Detalhes do grupo.

  4. Selecione o nome de algum dispositivo na Lista de dispositivos para abrir o painel de detalhes do dispositivo. Aqui você pode ver o código de resultado que o dispositivo relatou.

  5. O agente de referência da Atualização de Dispositivo segue a convenção de código de status HTTP padrão para o campo de código de resultado (por exemplo, "200" indica êxito). Para obter mais informações sobre como analisar códigos de resultado, confira Códigos de erro do cliente da Atualização de Dispositivo.

    Observação

    Se você tiver modificado o seu agente de Atualização de Dispositivo para relatar códigos de resultado personalizados, os códigos numéricos ainda serão passados para a interface do usuário da Atualização de Dispositivo. Em seguida, você pode consultar qualquer documentação criada para analisar esses códigos numéricos.

Coleção de log remoto

Quando mais informações do dispositivo são necessárias para diagnosticar e solucionar um erro, você pode usar o recurso de coleção de logs para instruir os dispositivos de destino a carregar logs de diagnóstico no dispositivo para uma conta vinculada do Armazenamento de Blob do Azure. Você pode começar a usar essa funcionalidade seguindo as instruções em Coletar remotamente logs de diagnóstico de dispositivos.

A coleção de log remoto da Atualização de Dispositivo é um recurso baseado em operação orientado por serviço. Para aproveitar a coleção de log, um dispositivo só precisa ser capaz de implementar a interface de diagnóstico e o arquivo de configuração, assim como, ser capaz de carregar arquivos no Armazenamento de Blob do Azure por meio do SDK.

De um alto nível, o recurso de coleção de log funciona da seguinte forma:

  1. O usuário cria uma nova operação de log usando a interface do usuário ou as APIs da Atualização de Dispositivo, tendo como destino até 100 dispositivos que tenham implementado a interface de Diagnóstico.

  2. O serviço da Atualização de Dispositivo envia uma mensagem de início da coleta de log para os dispositivos de destino que usam a Interface de Diagnóstico. Essa mensagem inicial inclui a ID da operação de log e um token SAS para carregar para a conta de Armazenamento do Azure associada.

  3. Ao receber a mensagem de início, o agente da Atualização de Dispositivo do dispositivo de destino tentará coletar e carregar os arquivos nos caminhos de arquivos predefinidos especificados no arquivo de configuração do agente no dispositivo. O agente de referência da Atualização de Dispositivo está configurado para carregar o log de diagnóstico do Agente da Atualização de Dispositivo (aduc.log) e o log de diagnóstico do Agente DO ("do-agent.log") por padrão.

  4. Em seguida, o agente da Atualização de Dispositivo relata o estado da operação (Bem-sucedida ou Com Falha) para o serviço, incluindo a ID da operação de log, um ResultCode e um ExtendedResultCode. Se o Agente da Atualização de Dispositivo falhar em uma operação de log, ele tentará novamente por três vezes de maneira automática, relatando apenas o estado final para o serviço.

  5. Depois que todos os dispositivos de destino relatarem o estado do terminal de volta ao serviço da Atualização de Dispositivo, o serviço da Atualização de Dispositivo marcará a operação de log como Bem-sucedida ou Com falha. Uma operação de log bem-sucedida indica que todos os dispositivos de destino concluíram com êxito a operação de log. Uma operação com log com falha indica que pelo menos um dispositivo de destino falhou na operação de log.

    Observação

    Como a operação de log é executada em paralelo pelos dispositivos de destino, é possível que alguns dispositivos de destino carreguem logs com êxito, mas a operação de log em geral seja marcada como "com falha". Você pode ver quais dispositivos tiveram êxito e quais falharam exibindo os detalhes da operação de log por meio da interface do usuário ou das APIs.

Próximas etapas

Saiba como usar a funcionalidade de coleta remota de logs da Atualização de Dispositivo: Coletar remotamente logs de diagnóstico de dispositivos usando a Atualização de Dispositivo para Hub IoT