Monitorando a referência de dados do Hub IoT do Azure

Para começar a usar o monitoramento do Azure, confira Monitorar Hub IoT do Azure para entender como coletar e analisar dados de monitoramento para Hub IoT do Azure.

Este artigo é uma referência para implementar o monitoramento do Azure.

As principais seções deste artigo de referência:

Métricas

Esta seção lista todas as métricas de plataforma coletadas automaticamente para o Hub IoT do Azure. O namespace do provedor de recursos para métricas do Hub IoT é Microsoft. Devices e o namespace do tipo é IoTHubs.

As subseções a seguir mostram as métricas da plataforma de Hub IoT por categoria geral e listam métricas pelo nome de exibição, conforme atribuído no portal do Azure.

Você também pode encontrar uma única tabela que lista todas as métricas da plataforma do Hub IoT por nome da métrica em Microsoft.Devices/IotHubs na documentação do Azure Monitor. Esta tabela não fornece todas as informações, como agregações com suporte para algumas métricas, disponíveis neste artigo.

Para saber mais sobre as métricas com suporte em outros serviços do Azure, consulte Métricas suportadas com Azure Monitor.

Tópicos nesta seção

Selecione um tópico para acessar as informações nesta página.

Agregações com suporte

A coluna de Tipo de agregação em cada tabela corresponde à agregação padrão usada quando a métrica é selecionada para um gráfico ou alerta.

Captura de tela mostrando a agregação para métricas

Para a maioria das métricas, todos os tipos de agregação são válidos; no entanto, para métricas de contagem, com um valor de coluna de Contagem em Unidade, apenas algumas agregações são válidas. As métricas de contagem podem ser de um dos dois tipos:

  • Para métricas de contagem de Ponto único, o Hub IoT registra um único ponto de dados (essencialmente um 1) cada vez que a operação medida ocorre. Azure Monitor soma esses pontos de dados sobre a granularidade especificada. Exemplos de métricas de ponto único são Mensagens de telemetria enviadas e entregas de mensagens C2D concluídas. Para essas métricas, o único tipo de agregação relevante é Total (Soma). O portal permite que você escolha mínimo, máximo e médio; no entanto, esses valores serão sempre 1.

  • Para métricas de contagem de instantâneos, o Hub IoT registra uma contagem total quando ocorre a operação medida. Atualmente, há três métricas de instantâneo emitidas pelo Hub IoT: Número total de mensagens usadas, Total de dispositivose Dispositivos conectados. Como essas métricas apresentam uma quantidade "total" sempre que são emitidas, a soma delas na granularidade especificada não faz sentido. Azure Monitor limita a seleção de média, mínimo e máximo para o tipo de agregação para essas métricas.

Métricas de comando da nuvem para o dispositivo

Nome de exibição da métrica Métrica Unidade Tipo de agregação Descrição Dimensões
Mensagens C2D expiradas C2DMessagesExpired Contagem Total Número de mensagens de nuvem para o dispositivo expiradas Nenhum
Entregas de mensagem C2D concluídas c2d.commands.egress.complete.success Contagem Total Número de entregas de mensagens da nuvem para o dispositivo concluídas com sucesso pelo dispositivo Nenhum
Mensagens C2D abandonadas c2d.commands.egress.abandon.success Contagem Total Número de mensagens da nuvem para o dispositivo abandonadas pelo dispositivo Nenhum
Mensagens C2D rejeitadas c2d.commands.egress.reject.success Contagem Total Número de mensagens da nuvem para o dispositivo rejeitadas pelo dispositivo Nenhum

Para métricas com um valor de contagem em Unidade, somente a agregação total (Soma) é válida. As agregações mínima, máxima e média sempre retornam 1. Para obter mais informações, confira Agregações suportadas.

Métricas de métodos diretos da nuvem para o dispositivo

Nome de exibição da métrica Métrica Unidade Tipo de agregação Descrição Dimensões
Invocações de método diretas com falhas c2d.methods.failure Contagem Total A contagem de todas as chamadas de método diretas com falhas. Nenhum
Tamanho da solicitação das invocações de método diretas c2d.methods.requestSize Bytes Média A contagem de todas as solicitações de método diretas bem-sucedidas. Nenhum
Tamanho da resposta das invocações de método diretas c2d.methods.responseSize Bytes Média A contagem de todas as respostas de método diretas bem-sucedidas. Nenhum
Invocações de método diretas bem-sucedidas c2d.methods.success Contagem Total A contagem de todas as chamadas de método diretas bem-sucedidas. Nenhum

Para métricas com um valor de contagem em Unidade, somente a agregação total (Soma) é válida. As agregações mínima, máxima e média sempre retornam 1. Para obter mais informações, confira Agregações suportadas.

Métricas de operações do dispositivo gêmeo para a nuvem

Nome de exibição da métrica Métrica Unidade Tipo de agregação Descrição Dimensões
Leituras de gêmeos de back-end com falhas c2d.twin.read.failure Contagem Total A contagem de todas as falhas de leituras de gêmeos iniciadas pelo back-end. Nenhum
Atualizações de gêmeos de back-end com falhas c2d.twin.update.failure Contagem Total A contagem de todas as falhas de atualizações de gêmeos iniciadas pelo back-end. Nenhum
Tamanho da resposta das leituras de gêmeos de back-end c2d.twin.read.size Bytes Média A contagem de todas as leituras de gêmeos bem-sucedidas iniciadas pelo back-end. Nenhum
Tamanho das atualizações de gêmeos de back-end c2d.twin.update.size Bytes Média A contagem de todas as atualizações de gêmeos iniciadas pelo back-end bem-sucedidas. Nenhum
Leituras de gêmeos de back-end bem-sucedidas c2d.twin.read.success Contagem Total A contagem de todas as leituras de gêmeos bem-sucedidas iniciadas pelo back-end. Nenhum
Atualizações de gêmeos de back-end bem-sucedidas c2d.twin.update.success Contagem Total A contagem de todas as atualizações de gêmeos iniciadas pelo back-end bem-sucedidas. Nenhum

Para métricas com um valor de contagem em Unidade, somente a agregação total (Soma) é válida. As agregações mínima, máxima e média sempre retornam 1. Para obter mais informações, confira Agregações suportadas.

Métricas de configuração

Nome de exibição da métrica Métrica Unidade Tipo de agregação Descrição Dimensões
Métricas de configuração configurações Contagem Total Número total de operações CRUD executadas para a configuração do dispositivo e implantação de IoT Edge em um conjunto de dispositivos de destino. Inclui o número de operações que modificam o dispositivo gêmeo ou o módulo gêmeo por causa dessas configurações. Nenhum

Para métricas com um valor de contagem em Unidade, somente a agregação total (Soma) é válida. As agregações mínima, máxima e média sempre retornam 1. Para obter mais informações, confira Agregações suportadas.

Métricas de cota diária

Nome de exibição da métrica Métrica Unidade Tipo de agregação Descrição Dimensões
Uso total de dados do dispositivo deviceDataUsage Bytes Total Bytes transferidos entre todos os dispositivos conectados ao lotHub Nenhum
Uso total de dados de dispositivos (versão prévia) deviceDataUsageV2 Bytes Total Bytes transferidos entre todos os dispositivos conectados ao lotHub Nenhum
Número total de mensagens usadas dailyMessageQuotaUsed Contagem Média Número total de mensagens utilizadas hoje. Um valor cumulativo que é reiniciado para zero em 00:00 UTC diariamente. Nenhum

Para o Número total de mensagens usadas, apenas as agregações mínima, máxima e média têm suporte. Para obter mais informações, confira Agregações suportadas.

Métricas do dispositivo

Nome de exibição da métrica Métrica Unidade Tipo de agregação Descrição Dimensões
Total de dispositivos (preterido) devices.totalDevices Contagem Total Número de dispositivos registrados para o seu hub IoT Nenhum
Dispositivos conectados (preteridos) devices.connectedDevices.allProtocol Contagem Total Número de dispositivos registrados ao seu hub IoT Nenhum
Total de dispositivos totalDeviceCount Contagem Média Número de dispositivos registrados para o seu hub IoT Nenhum
Dispositivos conectados connectedDeviceCount Contagem Média Número de dispositivos registrados ao seu hub IoT Nenhum

Para Dispositivos totais (preteridos) e dispositivos conectados (preteridos) , somente a agregação total (Soma) é válida. As agregações mínima, máxima e média sempre retornam 1. Para obter mais informações, confira Agregações suportadas.

Para Dispositivos totais e dispositivos conectados, somente as agregações mínima, máxima e média são válidas. Para obter mais informações, confira Agregações suportadas.

O total de dispositivos e os dispositivos conectados não são exportáveis por meio de configurações de diagnóstico.

Métricas de telemetria do dispositivo

Nome de exibição da métrica Métrica Unidade Tipo de agregação Descrição Dimensões
Número de erros de limitação d2c.telemetry.ingress.sendThrottle Contagem Total Número de erros de limitação devido a limitações da taxa de transferência do dispositivo Nenhum
Tentativas de 'envio de mensagem' de telemetria d2c.telemetry.ingress.allProtocol Contagem Total Número de tentativas de envio de mensagens de telemetria do dispositivo para nuvem para o hub IoT Nenhum
Mensagens de telemetria enviadas d2c.telemetry.ingress.success Contagem Total Número de mensagens de telemetria do dispositivo para nuvem enviadas com êxito para o hub IoT Nenhum

Para métricas com um valor de contagem em Unidade, somente a agregação total (Soma) é válida. As agregações mínima, máxima e média sempre retornam 1. Para obter mais informações, confira Agregações suportadas.

Métricas de operações do dispositivo para nuvem gêmea

Nome de exibição da métrica Métrica Unidade Tipo de agregação Descrição Dimensões
Leituras de gêmeos dos dispositivos com falhas d2c.twin.read.failure Contagem Total A contagem de todas as leituras de gêmeos iniciadas pelo dispositivo com falhas. Nenhum
Atualizações de gêmeos dos dispositivos com falhas d2c.twin.update.failure Contagem Total A contagem de todas as atualizações de gêmeos iniciadas pelo dispositivo. Nenhum
Tamanho da resposta das leituras de gêmeos dos dispositivos d2c.twin.read.size Bytes Média O número de todas as leituras de gêmeos iniciadas pelo dispositivo bem-sucedidas. Nenhum
Tamanho das atualizações de gêmeos dos dispositivos d2c.twin.update.size Bytes Média O tamanho total de todas as atualizações de gêmeos iniciadas pelo dispositivo bem-sucedidas. Nenhum
Leituras de gêmeos dos dispositivos bem-sucedidas d2c.twin.read.success Contagem Total A contagem de todas as leituras de gêmeos iniciadas pelo dispositivo bem-sucedidas. Nenhum
Atualizações de gêmeos dos dispositivos bem-sucedidas d2c.twin.update.success Contagem Total A contagem de todas as atualizações de gêmeos iniciadas pelo dispositivo bem-sucedidas. Nenhum

Para métricas com um valor de contagem em Unidade, somente a agregação total (Soma) é válida. As agregações mínima, máxima e média sempre retornam 1. Para obter mais informações, confira Agregações suportadas.

Métricas da Grade de Eventos

Nome de exibição da métrica Métrica Unidade Tipo de agregação Descrição Dimensões
Entregas da Grade de Eventos EventGridDeliveries Contagem Total O número de eventos do Hub IoT publicados na grade de eventos. Use a dimensão de resultado para o número de solicitações bem-sucedidas e com falha. A dimensão EventType mostra o tipo de evento (https://aka.ms/ioteventgrid). Resultado,
EventType
Para obter mais informações, consulte Dimensões de métrica .
Latência da Grade de Eventos EventGridLatency Milissegundos Média A latência média (milissegundos) de quando o evento do Hub foi gerado para quando o evento foi publicado na grade de eventos. Esse número é uma média entre todos os tipos de evento. Use a dimensão EventType para ver a latência de um tipo específico de evento. EventType
Para obter mais informações, consulte Dimensões de métrica .

Para métricas com um valor de contagem em Unidade, somente a agregação total (Soma) é válida. As agregações mínima, máxima e média sempre retornam 1. Para obter mais informações, confira Agregações suportadas.

Métricas de trabalhos

Nome de exibição da métrica Métrica Unidade Tipo de agregação Descrição Dimensões
Trabalhos concluídos jobs.completed Contagem Total A contagem de todos os trabalhos concluídos. Nenhum
Chamadas para listar trabalhos com falhas jobs.listJobs.failure Contagem Total A contagem de todas as chamadas para listar trabalhos com falhas. Nenhum
Criações de trabalhos de invocação de método com falhas jobs.createDirectMethodJob.failure Contagem Total A contagem de todas as criações de trabalhos de invocação de método direto com falhas. Nenhum
Criações de trabalhos de atualização de gêmeos com falhas jobs.createTwinUpdateJob.failure Contagem Total A contagem de todos os trabalhos de criação de atualização de gêmeos com falhas. Nenhum
Cancelamentos de trabalho com falhas jobs.cancelJob.failure Contagem Total A contagem de todas as chamadas para cancelar um trabalho com falhas. Nenhum
Consultas de trabalho com falhas jobs.queryJobs.failure Contagem Total A contagem de todas as chamadas para consultas de trabalho com falhas. Nenhum
Trabalhos com falha jobs.failed Contagem Total A contagem de todos os trabalhos com falha. Nenhum
Chamadas para listar trabalhos bem-sucedidas jobs.listJobs.success Contagem Total A contagem de todas as chamadas para listar trabalhos bem-sucedidas. Nenhum
Criações de trabalhos de invocação de método bem-sucedidas jobs.createDirectMethodJob.success Contagem Total A contagem de todas as criações de trabalhos de invocação de método direto bem-sucedidas. Nenhum
Criações de trabalhos de atualização de gêmeos bem-sucedidas jobs.createTwinUpdateJob.
sucesso
Contagem Total A contagem de todos os trabalhos de criação de atualização de gêmeos bem-sucedidos. Nenhum
Cancelamentos de trabalho bem-sucedidos jobs.cancelJob.success Contagem Total A contagem de todas as chamadas para cancelar um trabalho bem-sucedidas. Nenhum
Consultas de trabalho bem-sucedidas jobs.queryJobs.success Contagem Total A contagem de todas as chamadas para consultas de trabalho bem-sucedidas. Nenhum

Para métricas com um valor de contagem em Unidade, somente a agregação total (Soma) é válida. As agregações mínima, máxima e média sempre retornam 1. Para obter mais informações, confira Agregações suportadas.

Métricas de roteamento

Nome de exibição da métrica Métrica Unidade Tipo de agregação Descrição Dimensões
Entregas de roteamento (versão prévia) RoutingDeliveries Contagem Total A métrica de entrega de roteamento. Use as dimensões para identificar o status de entrega para um ponto de extremidade específico ou para uma fonte de roteamento específica. Resultado,
RoutingSource,
EndpointType,
FailureReasonCategory,
EndpointName
Para obter mais informações, consulte Dimensões de métrica .
Tamanho das mensagens de entrega de roteamento em bytes (versão prévia) RoutingDataSizeInBytesDelivered Bytes Total O número total de bytes roteados pelo Hub IoT para o ponto de extremidade personalizado e o ponto de extremidade interno. Use as dimensões para identificar o tamanho dos dados roteados para um ponto de extremidade específico ou para uma fonte de roteamento específica. RoutingSource,
EndpointType
EndpointName
Para obter mais informações, consulte Dimensões de métrica .
Latência da entrega de roteamento (versão prévia) RoutingDeliveryLatency Milissegundos Média A métrica de latência de entrega de roteamento. Use as dimensões para identificar a latência para um ponto de extremidade específico ou para uma fonte de roteamento específica. RoutingSource,
EndpointType,
EndpointName
Para obter mais informações, consulte Dimensões de métrica .
Roteamento: blobs entregues ao armazenamento d2c.endpoints.egress.storage.blobs Contagem Total O número de vezes que o roteamento do Hub IoT entregou blobs aos pontos de extremidade de armazenamento. Nenhum
Roteamento: dados entregues ao armazenamento d2c.endpoints.egress.storage.bytes Bytes Total A quantidade de dados (bytes) de roteamento do Hub IoT entregue aos pontos de extremidade de armazenamento. Nenhum
Roteamento: latência de mensagem para Hubs de Eventos d2c.endpoints.latency.eventHubs Milissegundos Média A latência média (milissegundos) entre a entrada da mensagem no Hub IoT e a entrada da mensagem em um ponto de extremidade personalizado do tipo Hubs de Eventos. As rotas de mensagens para ponto de extremidade interno (eventos) não estão incluídas. Nenhum
Roteamento: latência de mensagem para a Fila do Barramento de Serviço d2c.endpoints.latency.serviceBusQueues Milissegundos Média A latência média (milissegundos) entre a entrada da mensagem no Hub IoT e a entrada da mensagem em um ponto de extremidade da fila do Barramento de Serviço. Nenhum
Roteamento: latência de mensagem para o Tópico do Barramento de Serviço d2c.endpoints.latency.serviceBusTopics Milissegundos Média A latência média (milissegundos) entre a entrada da mensagem no Hub IoT e a entrada da mensagem em um ponto de extremidade do tópico do Barramento de Serviço. Nenhum
Roteamento: latência de mensagem para mensagens/eventos d2c.Endpoints.Latency.builtIn.Events Milissegundos Média A latência média (milissegundos) entre a entrada da mensagem no Hub IoT e a entrada da mensagem no ponto de extremidade interno (mensagens/eventos) e rota de fallback. Nenhum
Roteamento: latência de mensagem para armazenamento d2c.endpoints.latency.storage Milissegundos Média A latência média (milissegundos) entre a entrada da mensagem no Hub IoT e a entrada da mensagem em um ponto de extremidade de armazenamento. Nenhum
Roteamento: mensagens entregues aos Hubs de Eventos d2c.endpoints.egress.eventHubs Contagem Total O número de vezes que o roteamento do Hub IoT entregou com êxito mensagens aos pontos de extremidade personalizados do tipo Hubs de Eventos. As rotas de mensagens para ponto de extremidade interno (eventos) não estão incluídas. Nenhum
Roteamento: mensagens entregues à Fila do Barramento de Serviço d2c.endpoints.egress.serviceBusQueues Contagem Total O número de vezes que o roteamento do Hub IoT entregou com êxito mensagens aos pontos de extremidade da fila do Barramento de Serviço. Nenhum
Roteamento: mensagens entregues ao Tópico do Barramento de Serviço d2c.endpoints.egress.serviceBusTopics Contagem Total O número de vezes que o roteamento do Hub IoT entregou com êxito mensagens aos pontos de extremidade do tópico do Barramento de Serviço. Nenhum
Roteamento: mensagens entregues ao fallback d2c.telemetry.egress.fallback Contagem Total O número de vezes que o roteamento do Hub IoT entregou mensagens ao ponto de extremidade associado à rota de fallback. Nenhum
Roteamento: mensagens entregues a mensagens/eventos d2c.endpoints.egress.builtIn.events Contagem Total O número de vezes que o roteamento do Hub IoT entregou com êxito mensagens ao ponto de extremidade interno (mensagens/eventos) e rota de fallback. Nenhum
Roteamento: mensagens entregues ao armazenamento d2c.endpoints.egress.storage Contagem Total O número de vezes que o roteamento do Hub IoT entregou com êxito mensagens aos pontos de extremidade de armazenamento. Nenhum
Roteamento: mensagens de telemetria entregues d2c.telemetry.egress.success Contagem Total O número de vezes que as mensagens foram entregues com êxito a todos os pontos de extremidade usando o roteamento do Hub IoT. Se uma mensagem é encaminhada para vários pontos de extremidade, esse valor aumenta em um para cada entrega bem-sucedida. Se uma mensagem é entregue ao mesmo ponto de extremidade várias vezes, esse valor aumenta em um para cada entrega bem-sucedida. Nenhum
Roteamento: mensagens de telemetria removidas d2c.telemetry.egress.dropped Contagem Total O número de vezes que as mensagens foram removidas pelo roteamento do Hub IoT devido à inatividade dos pontos de extremidade. Esse valor não conta as mensagens entregues à rota de fallback, pois as mensagens removidas não são entregues. Nenhum
Roteamento: mensagens de telemetria incompatíveis d2c.telemetry.egress.invalid Contagem Total O número de vezes que o roteamento do Hub IoT não conseguiu entregar mensagens devido a uma incompatibilidade com o ponto de extremidade. Uma mensagem é incompatível com um ponto de extremidade quando o Hub IoT tenta entregar a mensagem a um ponto de extremidade e falha com um erro não transitório. Mensagens inválidas não são repetidas. Esse valor não inclui novas tentativas. Nenhum
Roteamento: mensagens de telemetria órfãs d2c.telemetry.egress.orphaned Contagem Total O número de vezes que as mensagens ficaram órfãs do roteamento do Hub IoT porque não correspondiam a nenhuma consulta de roteamento, quando a regra de fallback é desabilitada. Nenhum

Para métricas com um valor de contagem em Unidade, somente a agregação total (Soma) é válida. As agregações mínima, máxima e média sempre retornam 1. Para obter mais informações, confira Agregações suportadas.

Métricas de consulta de gêmeos

Nome de exibição da métrica Métrica Unidade Tipo de agregação Descrição Dimensões
Consultas de gêmeos com falhas twinQueries.failure Contagem Total A contagem de todas as consultas de gêmeos com falhas. Nenhum
Consultas de gêmeos bem-sucedidas twinQueries.success Contagem Total A contagem de todas as consultas de gêmeos bem-sucedidas. Nenhum
Tamanho do resultado das consultas de gêmeos twinQueries.resultSize Bytes Média O tamanho total do resultado de todas as consultas de gêmeos bem-sucedidas. Nenhum

Para métricas com um valor de contagem em Unidade, somente a agregação total (Soma) é válida. As agregações mínima, máxima e média sempre retornam 1. Para obter mais informações, confira Agregações suportadas.

Dimensões de métrica

O Hub IoT do Azure tem as seguintes dimensões associadas a algumas das suas métricas de roteamento e de Grade de Eventos.

Nome da dimensão Descrição
EndpointName O nome do ponto de extremidade
EndpointType eventHubs, serviceBusQueues, cosmosDB, serviceBusTopics. builtin ou blobStorage
EventType Microsoft.Devices.DeviceCreated. Microsoft.Devices.DeviceDeleted, Microsoft.Devices.DeviceConnected, Microsoft.Devices.DeviceDisconnected ou Microsoft.Devices.DeviceTelemetry
Para obter mais informações, consulte Tipos de eventos.
FailureReasonCategory Um dos seguintes: inválido, Descartado, órfãoou nulo.
Resultado Êxito ou falha
RoutingSource Mensagens do dispositivo
Eventos de Alteração de Gêmeo
Eventos de Ciclo de Vida do Dispositivo

Para saber mais sobre dimensões métricas, consulte Métricas multidimensionais.

Logs de recursos

Esta seção lista todos os tipos de categoria de log de recursos e os esquemas coletados para o Hub IoT do Azure. O provedor de recursos e o tipo para todos os logs do Hub IoT são Microsoft. Devices/IotHubs. Os eventos são emitidos somente para erros em algumas categorias.

Tópicos nesta seção

conexões

A categoria de conexões rastreia erros e eventos de conexão e desconexão de dispositivos de um Hub IoT. Esta categoria é útil para identificar tentativas de conexão não autorizadas e/ou alertas ao perder a conexão aos dispositivos.

Para obter o status de conexão confiável dos dispositivos, confira Monitorar o status da conexão do dispositivo.

{
   "records":
   [
        {
            "time": " UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "deviceConnect",
            "category": "Connections",
            "level": "Information",
            "properties": "{\"deviceId\":\"<deviceId>\",\"sdkVersion\":\"<sdkVersion>\",\"protocol\":\"<protocol>\",\"authType\":\"{\\\"scope\\\":\\\"device\\\",\\\"type\\\":\\\"sas\\\",\\\"issuer\\\":\\\"iothub\\\",\\\"acceptingIpFilterRule\\\":null}\",\"maskedIpAddress\":\"<maskedIpAddress>\"}",
            "location": "Resource location"
        }
    ]
}

Para obter informações detalhadas sobre como usar logs de conexões para monitorar a conectividade do dispositivo, confira Monitorar, diagnosticar e solucionar problemas de conectividade do dispositivo com o Hub IoT do Azure.

Telemetria de dispositivo

A categoria de telemetria de dispositivo rastreia erros que ocorrem no Hub IoT e estão relacionados ao pipeline de telemetria. Essa categoria inclui erros que ocorrem no envio de eventos de telemetria (como limitação) e no recebimento de eventos de telemetria (como leitor não autorizado). Essa categoria não pode capturar erros causados pelo código em execução no próprio dispositivo.

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "ingress",
            "category": "DeviceTelemetry",
            "level": "Error",
            "resultType": "Event status",
            "resultDescription": "MessageDescription",
            "properties": "{\"deviceId\":\"<deviceId>\",\"batching\":\"0\",\"messageSizeInBytes\":\"<messageSizeInBytes>\",\"EventProcessedUtcTime\":\"<UTC timestamp>\",\"EventEnqueuedUtcTime\":\"<UTC timestamp>\",\"partitionId\":\"1\"}", 
            "location": "Resource location"
        }
    ]
}

Comandos da nuvem para o dispositivo

A categoria de comandos da nuvem para o dispositivo rastreia erros que ocorrem no Hub IoT e são relacionados ao pipeline de mensagem da nuvem para o dispositivo. Essa categoria inclui erros que ocorrem ao:

  • Enviar mensagens de nuvem para dispositivo (como erros de remetente não autorizado),
  • Receber mensagens da nuvem para dispositivo (como erros de contagem de entrega excedida), e
  • Receber comentários de mensagem da nuvem para dispositivo (como erros de comentário expirados).

Essa categoria não capturará erros quando a mensagem da nuvem para dispositivo for entregue com êxito, mas for manipulada incorretamente pelo dispositivo.

{
    "records":
    [
        {
            "time": " UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "messageExpired",
            "category": "C2DCommands",
            "level": "Error",
            "resultType": "Event status",
            "resultDescription": "MessageDescription",
            "properties": "{\"deviceId\":\"<deviceId>\",\"messageId\":\"<messageId>\",\"messageSizeInBytes\":\"<messageSize>\",\"protocol\":\"Amqp\",\"deliveryAcknowledgement\":\"<None, NegativeOnly, PositiveOnly, Full>\",\"deliveryCount\":\"0\",\"expiryTime\":\"<timestamp>\",\"timeInSystem\":\"<timeInSystem>\",\"ttl\":<ttl>, \"EventProcessedUtcTime\":\"<UTC timestamp>\",\"EventEnqueuedUtcTime\":\"<UTC timestamp>\", \"maskedIpAddress\": \"<maskedIpAddress>\", \"statusCode\": \"4XX\"}",
            "location": "Resource location"
        }
    ]
}

Operações de identidade do dispositivo

A categoria de operações de identidade do dispositivo rastreia erros que ocorrem quando você tenta criar, atualizar ou excluir uma entrada no registro de identidade do seu Hub IoT. O rastreamento dessa categoria é útil em cenários de provisionamento.

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "get",
            "category": "DeviceIdentityOperations",
            "level": "Error",
            "resultType": "Event status",
            "resultDescription": "MessageDescription",
            "properties": "{\"maskedIpAddress\":\"<maskedIpAddress>\",\"deviceId\":\"<deviceId>\", \"statusCode\":\"4XX\"}",
            "location": "Resource location"
        }
    ]
}

Operações de upload de arquivo

A categoria de carregamento de arquivo rastreia erros que ocorrem no Hub IoT e estão relacionados à funcionalidade de carregamento de arquivo. Essa categoria inclui:

  • Erros que ocorrem com o URI de SAS, como quando ele expirar antes que um dispositivo notifique o hub de um carregamento concluído.

  • Carregamentos com falha relatados pelo dispositivo.

  • Erros que ocorrem quando um arquivo não for encontrado no armazenamento durante a criação de mensagem de notificação do Hub IoT.

Essa categoria não pode capturar erros que ocorrem diretamente enquanto o dispositivo está carregando um arquivo no armazenamento.

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "ingress",
            "category": "FileUploadOperations",
            "level": "Error",
            "resultType": "Event status",
            "resultDescription": "MessageDescription",
            "durationMs": "1",
            "properties": "{\"deviceId\":\"<deviceId>\",\"protocol\":\"<protocol>\",\"authType\":\"{\\\"scope\\\":\\\"device\\\",\\\"type\\\":\\\"sas\\\",\\\"issuer\\\":\\\"iothub\\\",\\\"acceptingIpFilterRule\\\":null}\",\"blobUri\":\"http//bloburi.com\"}",
            "location": "Resource location"
        }
    ]
}

Rotas

A categoria roteamento de mensagem acompanha os erros que ocorrem durante a avaliação da rota da mensagem e da integridade do ponto de extremidade, conforme visto pelo Hub IoT. Essa categoria inclui eventos, como:

  • Uma regra é avaliada como "não definida";
  • O Hub IoT marca um ponto de extremidade como inativo; ou
  • Quaisquer erros recebidos de um ponto de extremidade.

Essa categoria não inclui erros específicos sobre as próprias mensagens (como erros de limitação de dispositivo), que são relatados na categoria "telemetria de dispositivo".

{
    "records":
    [
        {
            "time":"2019-12-12T03:25:14Z",
            "resourceId":"/SUBSCRIPTIONS/91R34780-3DEC-123A-BE2A-213B5500DFF0/RESOURCEGROUPS/ANON-TEST/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/ANONHUB1",
            "operationName":"endpointUnhealthy",
            "category":"Routes",
            "level":"Error",
            "resultType":"403004",
            "resultDescription":"DeviceMaximumQueueDepthExceeded",
            "properties":"{\"deviceId\":null,\"endpointName\":\"anon-sb-1\",\"messageId\":null,\"details\":\"DeviceMaximumQueueDepthExceeded\",\"routeName\":null,\"statusCode\":\"403\"}",
            "location":"westus"
        }
    ]
}

Aqui estão mais detalhes sobre os logs de recursos de roteamento:

Operações de nuvem gêmea para dispositivo

A categoria de operações de gêmeos de dispositivo para nuvem rastreia eventos iniciados pelo dispositivo em dispositivos gêmeos. Essas operações podem incluir gêmeos, atualizar as propriedades relatadas e assinar as propriedades desejadas.

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "update",
            "category": "D2CTwinOperations",
            "level": "Information",
            "durationMs": "1",
            "properties": "{\"deviceId\":\"<deviceId>\",\"protocol\":\"<protocol>\",\"authenticationType\":\"{\\\"scope\\\":\\\"device\\\",\\\"type\\\":\\\"sas\\\",\\\"issuer\\\":\\\"iothub\\\",\\\"acceptingIpFilterRule\\\":null}\"}",
            "location": "Resource location"
        }
    ]
}

Operações de dispositivo gêmeo para nuvem

A categoria de operações de gêmeos de nuvem para dispositivo rastreia eventos iniciados pelo serviço em dispositivos gêmeos. Essas operações podem incluir obter gêmeo, atualizar ou substituir marcas e atualizar ou substituir propriedades desejadas.

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "read",
            "category": "C2DTwinOperations",
            "level": "Information",
            "durationMs": "1",
            "properties": "{\"deviceId\":\"<deviceId>\",\"sdkVersion\":\"<sdkVersion>\",\"messageSize\":\"<messageSize>\"}",
            "location": "Resource location"
        }
    ]
}

Consultas de gêmeos

A categoria de consultas de gêmeos relata sobre solicitações de consulta para dispositivos gêmeos que são iniciados na nuvem.

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "query",
            "category": "TwinQueries",
            "level": "Information",
            "durationMs": "1",
            "properties": "{\"query\":\"<twin query>\",\"sdkVersion\":\"<sdkVersion>\",\"messageSize\":\"<messageSize>\",\"pageSize\":\"<pageSize>\", \"continuation\":\"<true, false>\", \"resultSize\":\"<resultSize>\"}",
            "location": "Resource location"
        }
    ]
}

Operações de trabalhos

A categoria de operações de trabalhos relata sobre solicitações de trabalho para atualizar dispositivos gêmeos ou invocar métodos diretos em vários dispositivos. Essas solicitações são iniciadas na nuvem.

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "jobCompleted",
            "category": "JobsOperations",
            "level": "Information",
            "durationMs": "1",
            "properties": "{\"jobId\":\"<jobId>\", \"sdkVersion\": \"<sdkVersion>\",\"messageSize\": <messageSize>,\"filter\":\"DeviceId IN ['1414ded9-b445-414d-89b9-e48e8c6285d5']\",\"startTimeUtc\":\"Wednesday, September 13, 2017\",\"duration\":\"0\"}",
            "location": "Resource location"
        }
    ]
}

Métodos diretos

A categoria de métodos diretos rastreia as interações solicitação-resposta enviadas a dispositivos individuais. Essas solicitações são iniciadas na nuvem.

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "send",
            "category": "DirectMethods",
            "level": "Information",
            "durationMs": "1",
            "properties": "{\"deviceId\":<messageSize>, \"RequestSize\": 1, \"ResponseSize\": 1, \"sdkVersion\": \"2017-07-11\"}",
            "location": "Resource location"
        }
    ]
}

Rastreamento Distribuído (Versão Prévia)

A categoria de rastreamento distribuído rastreia as IDs de correlação para mensagens que carregam o cabeçalho de contexto de rastreamento. Para habilitar completamente esses logs, o código do cliente deve ser atualizado seguindo Analisar e diagnosticar aplicativos IoT de ponta a ponta com rastreamento distribuído do Hub IoT (versão prévia).

O correlationId está em conformidade com a proposta Contexto de Rastreamento do W3C, em que ele contém trace-id e um span-id.

Logs D2C do Hub IoT (dispositivo para nuvem)

O Hub IoT registra esse log quando uma mensagem que contém propriedades de rastreamento válidas chega ao Hub IoT.

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "DiagnosticIoTHubD2C",
            "category": "DistributedTracing",
            "correlationId": "00-8cd869a412459a25f5b4f31311223344-0144d2590aacd909-01",
            "level": "Information",
            "resultType": "Success",
            "resultDescription":"Receive message success",
            "durationMs": "",
            "properties": "{\"messageSize\": 1, \"deviceId\":\"<deviceId>\", \"callerLocalTimeUtc\": : \"2017-02-22T03:27:28.633Z\", \"calleeLocalTimeUtc\": \"2017-02-22T03:27:28.687Z\"}",
            "location": "Resource location"
        }
    ]
}

Aqui, durationMs não é calculado, uma vez que o relógio do Hub IoT não pode ser sincronizado com o relógio do dispositivo e, portanto, um cálculo de duração pode ser enganoso. Recomendamos gravar escrever lógica usando carimbos de data/hora na seção properties para capturar os picos na latência de dispositivo para nuvem.

Propriedade Type Descrição
messageSize Integer O tamanho da mensagem de dispositivo para nuvem em bytes
deviceId Cadeia de caracteres alfanumérica ASCII de 7 bits A identidade do dispositivo
callerLocalTimeUtc Carimbo de data/hora UTC A hora de criação da mensagem conforme relatada pelo relógio local do dispositivo
calleeLocalTimeUtc Carimbo de data/hora UTC A hora de chegada da mensagem no gateway do Hub IoT conforme relatado pelo relógio do lado do serviço de Hub IoT

Logs de entrada do Hub IoT

O Hub IoT registra esse log quando a mensagem que contém as propriedades de rastreamento válido grava nos Hubs de Eventos interno ou integrado.

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "DiagnosticIoTHubIngress",
            "category": "DistributedTracing",
            "correlationId": "00-8cd869a412459a25f5b4f31311223344-349810a9bbd28730-01",
            "level": "Information",
            "resultType": "Success",
            "resultDescription":"Ingress message success",
            "durationMs": "10",
            "properties": "{\"isRoutingEnabled\": \"true\", \"parentSpanId\":\"0144d2590aacd909\"}",
            "location": "Resource location"
        }
    ]
}

Na seção properties, esse log contém informações adicionais sobre a entrada da mensagem.

Propriedade Type Descrição
isRoutingEnabled String Verdadeiro ou falso, indica se o roteamento de mensagens está ou não habilitado no Hub IoT
parentSpanId String A ID do span da mensagem pai, que seria, neste caso, o rastreamento de mensagens D2C

Logs de saída do Hub IoT

O Hub IoT registra esse log quando roteamento está habilitado e a mensagem é gravada para um ponto de extremidade. Se o roteamento não estiver habilitado, o Hub IoT não registrará esse log.

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "DiagnosticIoTHubEgress",
            "category": "DistributedTracing",
            "correlationId": "00-8cd869a412459a25f5b4f31311223344-98ac3578922acd26-01",
            "level": "Information",
            "resultType": "Success",
            "resultDescription":"Egress message success",
            "durationMs": "10",
            "properties": "{\"endpointType\": \"EventHub\", \"endpointName\": \"myEventHub\", \"parentSpanId\":\"349810a9bbd28730\"}",
            "location": "Resource location"
        }
    ]
}

Na seção properties, esse log contém informações adicionais sobre a entrada da mensagem.

Propriedade Type Descrição
endpointName String O nome do ponto de extremidade de roteamento
endpointType String O tipo de roteamento o ponto de extremidade
parentSpanId String A ID do span da mensagem pai, que seria, neste caso, o rastreamento de mensagens de entrada do Hub IoT

Configurações

Os logs de configuração do Hub IoT rastreiam eventos e erros para o conjunto de recursos de gerenciamento automático de dispositivos.

{
    "records":
    [
         {
             "time": "2019-09-24T17:21:52Z",
             "resourceId": "Resource Id",
             "operationName": "ReadManyConfigurations",
             "category": "Configurations",
             "resultType": "",
             "resultDescription": "",
             "level": "Information",
             "durationMs": "17",
             "properties": "{\"configurationId\":\"\",\"sdkVersion\":\"2018-06-30\",\"messageSize\":\"0\",\"statusCode\":null}",
             "location": "southcentralus"
         }
    ]
}

Fluxos de dispositivo (versão prévia)

A categoria fluxos de dispositivo rastreia as interações solicitação-resposta enviadas a dispositivos individuais.

{
    "records":
    [
         {
             "time": "2019-09-19T11:12:04Z",
             "resourceId": "Resource Id",
             "operationName": "invoke",
             "category": "DeviceStreams",
             "resultType": "",
             "resultDescription": "",    
             "level": "Information",
             "durationMs": "74",
             "properties": "{\"deviceId\":\"myDevice\",\"moduleId\":\"myModule\",\"sdkVersion\":\"2019-05-01-preview\",\"requestSize\":\"3\",\"responseSize\":\"5\",\"statusCode\":null,\"requestName\":\"myRequest\",\"direction\":\"c2d\"}",
             "location": "Central US"
         }
    ]
}

Tabelas de Logs do Azure Monitor

Esta seção refere-se a todas as tabelas do Kusto dos Logs do Azure Monitor relevantes para o Hub IoT do Azure e disponíveis para consulta pelo Log Analytics. Para obter uma lista dessas tabelas e links a fim de obter mais informações sobre o tipo de recurso do Hub IoT, confira Hub IoT na referência da tabela de Logs do Azure Monitor.

Para obter uma referência de todas as tabelas de Logs do Azure Monitor/Log Analytics, confira a Referência da tabela de log do Azure Monitor.

Consulte Também