Partager via


Informations de référence sur l’analyse des données Azure IoT Hub

Pour bien démarrer avec la supervision Azure, consultez Surveiller Azure IoT Hub pour comprendre comment collecter et analyser des données de surveillance pour Azure IoT Hub.

Cet article constitue une référence pour l’implémentation de la supervision Azure.

Les principales sections de cet article de référence :

Mesures

Cette section répertorie toutes les métriques de plateforme collectées automatiquement pour Azure IoT Hub. L’espace de noms du fournisseur de ressources pour les métriques IoT Hub est Microsoft.Devices et l’espace de noms de type est IoTHubs.

Les sous-sections suivantes montrent les métriques de plateforme IoT Hub par catégorie générale et répertorient les métriques selon leur nom d’affichage attribué dans le Portail Azure.

Vous pouvez également trouver une table unique qui répertorie toutes les métriques de la plateforme IoT Hub par nom de métrique sous Microsoft.Devices/IotHubs dans la documentation Azure Monitor. Cette table ne fournit pas certaines des informations, comme les agrégations prises en charge pour certaines métriques, disponibles dans cet article.

Pour en savoir plus sur les métriques prises en charge par d’autres services Azure, consultez Métriques prises en charge avec Azure Monitor.

Rubriques de cette section

Sélectionnez une rubrique pour accéder à ses informations sur cette page.

Agrégations prises en charge

La colonne Type d’agrégation dans chaque tableau correspond à l’agrégation par défaut qui est utilisée lorsque la métrique est sélectionnée pour un graphique ou une alerte.

Capture d’écran montrant l’agrégation des métriques

Pour la plupart des métriques, tous les types d’agrégation sont valides ; toutefois, pour les métriques de comptage, celles dont la valeur de la colonne Unité est Comptage, seules certaines agrégations sont valides. Les métriques de comptage peuvent être de deux types :

  • Pour les métriques de comptage à point unique, IoT Hub enregistre un point de données unique (essentiellement 1) chaque fois que l’opération mesurée se produit. Azure Monitor additionne ensuite ces points de données sur la granularité spécifiée. Messages de télémétrie envoyés et Remises de messages cloud vers appareil terminées sont des exemples de métriques à point unique. Pour ces métriques, le seul type d’agrégation pertinent est Total (Somme). Le portail vous permet de choisir la valeur minimale, la valeur maximale et la moyenne. Toutefois, ces valeurs sont toujours 1.

  • Pour les métriques de comptage d’instantanés, IoT Hub enregistre un nombre total lorsque l’opération mesurée se produit. Actuellement, il existe trois métriques d’instantanés émises par IoT Hub : Nombre total de messages utilisés, Nombre total d’appareils et Appareils connectés. Étant donné que ces métriques présentent une quantité « totale » chaque fois qu’elles sont émises, leur addition sur la granularité spécifiée n’est pas justifiée. Azure Monitor vous limite à sélectionner la moyenne, la valeur minimale et la valeur maximale pour le type d’agrégation de ces métriques.

Métriques de commande cloud à appareil

Nom d’affichage de la métrique Métrique Unité Type d’agrégation Description Dimensions
Messages cloud vers appareil ayant expiré C2DMessagesExpired Count Total Nombre de messages cloud vers appareil ayant expiré None
Remises de messages cloud vers appareil terminées c2d.commands.egress.complete.success Count Total Nombre de remises de messages cloud vers appareil terminées avec succès par l’appareil None
Messages cloud vers appareil abandonnés c2d.commands.egress.abandon.success Count Total Nombre de messages cloud vers appareil abandonnés par l’appareil None
Messages cloud vers appareil rejetés c2d.commands.egress.reject.success Count Total Nombre de messages cloud vers appareil rejetés par l’appareil None

Pour les métriques dont la valeur d’unité est Comptage, seule l’agrégation totale (somme) est valide. Les agrégations Minimum, Maximum et Moyenne retournent toujours la valeur 1. Pour en savoir plus, consultez les agrégations prises en charge.

Métriques de méthodes directes cloud à appareil

Nom d’affichage de la métrique Métrique Unité Type d’agrégation Description Dimensions
Appels de méthode directe en échec c2d.methods.failure Count Total Total des appels de méthode directe en échec. None
Taille de demande des appels de méthode directe c2d.methods.requestSize Octets Average Total des requêtes de méthode directe réussies. None
Taille de réponse des appels de méthode directe c2d.methods.responseSize Octets Average Total des réponses de méthode directe réussies. None
Appels de méthode directe réussis c2d.methods.success Count Total Total des appels de méthode directe réussis. None

Pour les métriques dont la valeur d’unité est Comptage, seule l’agrégation totale (somme) est valide. Les agrégations Minimum, Maximum et Moyenne retournent toujours la valeur 1. Pour en savoir plus, consultez les agrégations prises en charge.

Métriques d’opérations jumelles cloud à appareil

Nom d’affichage de la métrique Métrique Unité Type d’agrégation Description Dimensions
Lectures de représentations de serveur principal en échec c2d.twin.read.failure Count Total Total des lectures de représentations en échec initiées par un serveur principal. None
Mises à jour de représentations de serveur principal en échec c2d.twin.update.failure Count Total Total des mises à jour de représentations en échec initiées par un serveur principal. None
Taille de la réponse des lectures de représentations de serveur principal c2d.twin.read.size Octets Average Total des lectures de représentations réussies initiées par un serveur principal. None
Taille des mises à jour de représentations de serveur principal c2d.twin.update.size Octets Average Total des mises à jour de représentations réussies initiées par un serveur principal. None
Lectures de représentations réussies de serveur principal c2d.twin.read.success Count Total Total des lectures de représentations réussies initiées par un serveur principal. None
Mises à jour de représentations réussies de serveur principal c2d.twin.update.success Count Total Total des mises à jour de représentations réussies initiées par un serveur principal. None

Pour les métriques dont la valeur d’unité est Comptage, seule l’agrégation totale (somme) est valide. Les agrégations Minimum, Maximum et Moyenne retournent toujours la valeur 1. Pour en savoir plus, consultez les agrégations prises en charge.

Métriques des configurations

Nom d’affichage de la métrique Métrique Unité Type d’agrégation Description Dimensions
Métriques de configuration configurations Count Total Nombre total d’opérations CRUD effectuées pour la configuration de l’appareil et le déploiement d’IoT Edge sur un ensemble d’appareils cibles. Cela inclut également le nombre d’opérations qui modifient le jumeau d’appareil ou le jumeau de module en raison de ces configurations. None

Pour les métriques dont la valeur d’unité est Comptage, seule l’agrégation totale (somme) est valide. Les agrégations Minimum, Maximum et Moyenne retournent toujours la valeur 1. Pour en savoir plus, consultez les agrégations prises en charge.

Métriques de quota quotidien

Nom d’affichage de la métrique Métrique Unité Type d’agrégation Description Dimensions
Utilisation totale des données d’appareil deviceDataUsage Octets Total Nombre d’octets transférés vers et depuis tous les appareils connectés à IotHub None
Utilisation totale des données d’appareil (préversion) deviceDataUsageV2 Octets Total Nombre d’octets transférés vers et depuis tous les appareils connectés à IotHub None
Nombre total de messages utilisés dailyMessageQuotaUsed Count Average Nombre total de messages utilisés aujourd’hui. Une valeur cumulative qui est réinitialisée sur zéro à 00h00 UTC chaque jour. None

Pour Nombre total de messages utilisés, seules les agrégations Minimum, Maximum et Moyenne sont prises en charge. Pour en savoir plus, consultez les agrégations prises en charge.

Mesures de l’appareil

Nom d’affichage de la métrique Métrique Unité Type d’agrégation Description Dimensions
Nombre total d’appareils (déconseillé) devices.totalDevices Count Total Nombre d’appareils enregistrés sur votre hub IoT None
Appareils connectés (déconseillé) devices.connectedDevices.allProtocol Count Total Nombre d’appareils connectés à votre hub IoT None
Nombre total d’appareils totalDeviceCount Count Average Nombre d’appareils enregistrés sur votre hub IoT None
Appareils connectés connectedDeviceCount Count Average Nombre d’appareils connectés à votre hub IoT None

Pour Nombre total d’appareils (déconseillé) et Appareils connectés (déconseillé) , seule l’agrégation Total (Somme) est valide. Les agrégations Minimum, Maximum et Moyenne retournent toujours la valeur 1. Pour en savoir plus, consultez les agrégations prises en charge.

Pour Nombre total d’appareils et Appareils connectés, seules les agrégations Minimum, Maximum et Moyenne sont valides. Pour en savoir plus, consultez les agrégations prises en charge.

Nombre total d’appareils et Appareils connectés ne sont pas exportables via les paramètres de diagnostic.

Métriques de télémétrie d’appareil

Nom d’affichage de la métrique Métrique Unité Type d’agrégation Description Dimensions
Nombre d’erreurs de limitation d2c.telemetry.ingress.sendThrottle Count Total Nombre d’erreurs de limitation causées par des limitations de débit d’appareil None
Tentatives d’« envoi de message » de télémétrie d2c.telemetry.ingress.allProtocol Count Total Nombre de tentatives d’envoi de messages de télémétrie appareil vers cloud à votre hub IoT None
Messages de télémétrie envoyés d2c.telemetry.ingress.success Count Total Nombre de messages de télémétrie appareil vers cloud envoyés avec succès à votre hub IoT None

Pour les métriques dont la valeur d’unité est Comptage, seule l’agrégation totale (somme) est valide. Les agrégations Minimum, Maximum et Moyenne retournent toujours la valeur 1. Pour en savoir plus, consultez les agrégations prises en charge.

Métriques d’opérations jumelles appareil à cloud

Nom d’affichage de la métrique Métrique Unité Type d’agrégation Description Dimensions
Lectures de représentations d’appareils en échec d2c.twin.read.failure Count Total Total des lectures de représentations en échec initiées par un appareil. None
Mises à jour de représentations d’appareils en échec d2c.twin.update.failure Count Total Total des mises à jour de représentations en échec initiées par un appareil. None
Taille de la réponse des lectures de représentations des appareils d2c.twin.read.size Octets Average Nombre de lectures de toutes les représentations réussies initiées par un appareil. None
Taille des mises à jour de représentations d’appareils d2c.twin.update.size Octets Average Taille totale des mises à jour de représentations réussies initiées par un appareil. None
Lectures de représentations réussies d’appareils d2c.twin.read.success Count Total Total des lectures de représentations réussies initiées par un appareil. None
Mises à jour de représentations réussies d’appareils d2c.twin.update.success Count Total Total des mises à jour de représentations réussies initiées par un appareil. None

Pour les métriques dont la valeur d’unité est Comptage, seule l’agrégation totale (somme) est valide. Les agrégations Minimum, Maximum et Moyenne retournent toujours la valeur 1. Pour en savoir plus, consultez les agrégations prises en charge.

Métriques Event Grid

Nom d’affichage de la métrique Métrique Unité Type d’agrégation Description Dimensions
Remises Event Grid EventGridDeliveries Count Total Nombre d’événements IoT Hub publiés dans Event Grid. Utilisez la dimension Résultat pour le nombre de requêtes ayant réussi et ayant échoué. La dimension EventType représente le type de l’événement (https://aka.ms/ioteventgrid). Result,
Type d’événement
Pour plus d’informations, consultez Dimensions de métrique .
Latence d’Event Grid EventGridLatency Millisecondes Average Latence moyenne (en millisecondes) entre le moment où l’événement Iot Hub a été généré et le moment où l’événement a été publié dans Event Grid. Ce nombre est une moyenne de tous les types d’événement. Utilisez la dimension Type d’événement pour afficher la latence d’un type d’événement spécifique. Type d’événement
Pour plus d’informations, consultez Dimensions de métrique .

Pour les métriques dont la valeur d’unité est Comptage, seule l’agrégation totale (somme) est valide. Les agrégations Minimum, Maximum et Moyenne retournent toujours la valeur 1. Pour en savoir plus, consultez les agrégations prises en charge.

Métriques de travaux

Nom d’affichage de la métrique Métrique Unité Type d’agrégation Description Dimensions
Travaux terminés jobs.completed Count Total Total des travaux terminés. None
Appels en échec pour répertorier les travaux jobs.listJobs.failure Count Total Total des appels en échec pour répertorier les travaux. None
Créations des travaux d’appel de méthode en échec jobs.createDirectMethodJob.failure Count Total Total des créations en échec des travaux d’appel de méthode directe. None
Créations des travaux de mises à jour de représentations en échec jobs.createTwinUpdateJob.failure Count Total Total des créations en échec des travaux de mises à jour de représentations. None
Annulations de travaux en échec jobs.cancelJob.failure Count Total Total des appels en échec pour annuler un travail. None
Requêtes de travaux en échec jobs.queryJobs.failure Count Total Total des appels en échec pour interroger les travaux. None
Travaux en échec jobs.failed Count Total Total des travaux en échec. None
Appels réussis pour répertorier les travaux jobs.listJobs.success Count Total Total des appels réussis pour répertorier les travaux. None
Créations réussies des travaux d’appel de méthode jobs.createDirectMethodJob.success Count Total Total des créations réussies des travaux d’appel de méthode directe. None
Créations réussies des travaux de mises à jour de représentations jobs.createTwinUpdateJob.
success
Count Total Total des créations réussies de travaux de mises à jour de représentations. None
Annulations de travaux réussies jobs.cancelJob.success Count Total Total des appels réussis pour annuler un travail. None
Requêtes de travaux réussies jobs.queryJobs.success Count Total Total des appels réussis pour interroger les travaux. None

Pour les métriques dont la valeur d’unité est Comptage, seule l’agrégation totale (somme) est valide. Les agrégations Minimum, Maximum et Moyenne retournent toujours la valeur 1. Pour en savoir plus, consultez les agrégations prises en charge.

Métriques de routage

Nom d’affichage de la métrique Métrique Unité Type d’agrégation Description Dimensions
Livraisons de routage (préversion) RoutingDeliveries Count Total La métrique de livraison de routage. Utilisez les dimensions pour identifier l’état de livraison d’un point de terminaison ou d’une source de routage spécifiques. Result,
RoutingSource,
EndpointType,
FailureReasonCategory,
EndpointName
Pour plus d’informations, consultez Dimensions de métrique .
Taille des messages de livraison du routage en octets (préversion) RoutingDataSizeInBytesDelivered Octets Total Nombre total d’octets acheminés par IoT Hub vers un point de terminaison personnalisé et un point de terminaison intégré. Utilisez les dimensions pour identifier la taille des données acheminées vers un point de terminaison ou une source de routage spécifiques. RoutingSource,
EndpointType
EndpointName
Pour plus d’informations, consultez Dimensions de métrique .
Latence de livraison du routage (préversion) RoutingDeliveryLatency Millisecondes Average La métrique de latence de la livraison de routage. Utilisez les dimensions pour identifier l’état de livraison d’un point de terminaison ou d’une source de routage spécifiques. RoutingSource,
EndpointType,
EndpointName
Pour plus d’informations, consultez Dimensions de métrique .
Routage : objets blob remis au stockage d2c.endpoints.egress.storage.blobs Count Total Nombre de fois où le routage IoT Hub a remis des objets blob à des points de terminaison de stockage. None
Routage : données remises au stockage d2c.endpoints.egress.storage.bytes Octets Total Quantité de données (octets) que le routage IoT Hub a remis aux points de terminaison de stockage. None
Routage : latence des messages pour Event Hubs d2c.endpoints.latency.eventHubs Millisecondes Average Latence moyenne (en millisecondes) entre les entrées de messages vers IoT Hub et les entrées de messages dans des points de terminaison personnalisés de type Event Hubs. Les itinéraires des messages vers les points de terminaison intégrés (événements) ne sont pas inclus. None
Routage : latence des messages de la file d’attente Service Bus d2c.endpoints.latency.serviceBusQueues Millisecondes Average Latence moyenne (en millisecondes) entre les entrées de messages vers IoT Hub et dans un point de terminaison de file d’attente Service Bus. None
Routage : latence des messages de la rubrique Service Bus d2c.endpoints.latency.serviceBusTopics Millisecondes Average Latence moyenne (en millisecondes) entre les entrées de messages vers IoT Hub et dans un point de terminaison de rubrique Service Bus. None
Routage : latence des messages de messages/d’événements d2c.endpoints.latency.builtIn.events Millisecondes Average Latence moyenne (en millisecondes) entre les entrées de messages vers IoT Hub et dans le point de terminaison intégré (messages/événements) l’itinéraire de secours. None
Routage : latence des messages du stockage d2c.endpoints.latency.storage Millisecondes Average Latence moyenne (en millisecondes) entre les entrées de messages vers IoT Hub et dans un point de terminaison de stockage. None
Routage : messages remis à Event Hubs d2c.endpoints.egress.eventHubs Count Total Nombre de fois où le routage IoT Hub a correctement remis des messages à des points de terminaison personnalisés de type Event Hubs. Les itinéraires des messages vers les points de terminaison intégrés (événements) ne sont pas inclus. None
Routage : messages remis à la file d’attente Service Bus d2c.endpoints.egress.serviceBusQueues Count Total Nombre de fois où le routage IoT Hub a correctement remis des messages aux points de terminaison de file d’attente Service Bus. None
Routage : messages remis à la rubrique Service Bus d2c.endpoints.egress.serviceBusTopics Count Total Nombre de fois où le routage IoT Hub a correctement remis des messages à des points de terminaison de rubrique Service Bus. None
Routage : messages remis à l’itinéraire de secours d2c.telemetry.egress.fallback Count Total Nombre de fois où le routage IoT Hub a remis des messages au point de terminaison associé à l’itinéraire de secours. None
Routage : messages remis à des messages/événements d2c.endpoints.egress.builtIn.events Count Total Nombre de fois où le routage IoT Hub a correctement remis des messages au point de terminaison intégré (messages/événements) à l’itinéraire de secours. None
Routage : messages remis au stockage d2c.endpoints.egress.storage Count Total Nombre de fois où le routage IoT Hub a correctement remis des messages à des points de terminaison de stockage. None
Routage : messages de télémétrie remis d2c.telemetry.egress.success Count Total Nombre de fois où des messages ont été correctement remis à tous les points de terminaison à l’aide du routage IoT Hub. Si un message est routé vers plusieurs points de terminaison, cette valeur augmente d’une unité pour chaque remise réussie. Si un message est routé plusieurs fois vers le même point de terminaison, cette valeur augmente d’une unité pour chaque remise réussie. None
Routage : messages de télémétrie annulés d2c.telemetry.egress.dropped Count Total Nombre de fois où des messages ont été annulés par le routage IoT Hub en raison de points de terminaison morts. Cette valeur ne compte pas les messages remis à un itinéraire de secours, car les messages annulés n’y sont pas livrés. None
Routage : messages de télémétrie incompatibles d2c.telemetry.egress.invalid Count Total Nombre de fois où le routage IoT Hub n’a pas réussi à remettre des messages en raison d’une incompatibilité avec le point de terminaison. Un message est incompatible avec un point de terminaison quand IoT Hub tente de remettre le message à un point de terminaison et échoue avec une erreur non temporaire. Il n’y a pas de nouvelle tentative pour les messages non valides. Cette valeur n’inclut pas les nouvelles tentatives. None
Routage : messages de télémétrie orphelins d2c.telemetry.egress.orphaned Count Total Nombre de fois où des messages ont été définis comme orphelins par le routage IoT Hub car ils ne correspondaient à aucune requête de routage, lorsque la route de secours est désactivée. None

Pour les métriques dont la valeur d’unité est Comptage, seule l’agrégation totale (somme) est valide. Les agrégations Minimum, Maximum et Moyenne retournent toujours la valeur 1. Pour en savoir plus, consultez les agrégations prises en charge.

Métriques de requête de jumeau

Nom d’affichage de la métrique Métrique Unité Type d’agrégation Description Dimensions
Requêtes de représentations en échec twinQueries.failure Count Total Total des requêtes de représentations en échec. None
Requêtes de représentations réussies twinQueries.success Count Total Total des requêtes de représentations réussies. None
Taille du résultat des requêtes de représentations twinQueries.resultSize Octets Average Total de toutes les requêtes de représentations réussies. None

Pour les métriques dont la valeur d’unité est Comptage, seule l’agrégation totale (somme) est valide. Les agrégations Minimum, Maximum et Moyenne retournent toujours la valeur 1. Pour en savoir plus, consultez les agrégations prises en charge.

Dimensions de métrique

Azure IoT Hub a les dimensions suivantes associées à certaines de ses métriques de routage et Event Grid.

Nom de la dimension Description
EndpointName Nom du point de terminaison
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
Pour plus d’informations, consultez Types d’événements.
FailureReasonCategory L’une des valeurs suivantes : non valide, supprimée, orpheline ou Null.
Résultat Réussite ou Échec
RoutingSource Messages des appareils
Événements de changement de jumeau
Événements de cycle de vie d'appareil

Pour en savoir plus sur les dimensions de métrique, consultez Métriques multidimensionnelles.

Journaux d’activité de ressources

Cette section répertorie tous les schémas et types de catégories de journaux de ressources collectés pour Azure IoT Hub. Le fournisseur de ressources et le type de tous les journaux IoT Hub sont Microsoft.Devices/IotHubs. Des événements sont émis uniquement pour les erreurs de certaines catégories.

Rubriques de cette section

Connexions

La catégorie Connexions suit les événements de connexion et de déconnexion des appareils d’un hub IoT, et les erreurs. Cette catégorie est utile pour identifier les tentatives de connexion non autorisées et/ou donner l’alerte lorsque vous êtes déconnecté des appareils.

Pour connaître l’état de connexion fiable des appareils, consultez Analyser l’état de la connexion des appareils.

{
   "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"
        }
    ]
}

Pour plus d’informations sur l’utilisation des journaux de connexions pour surveiller la connectivité des appareils, consultez Surveiller, diagnostiquer et résoudre les problèmes de connectivité des appareils à Azure IoT Hub.

Télémétrie d’appareil

La catégorie de télémétrie d’appareil effectue le suivi des erreurs qui se produisent au niveau du hub IoT et qui sont liées au pipeline de télémétrie. Cette catégorie inclut notamment les erreurs concernant l’envoi d’événements de télémétrie (par exemple, une limitation) et la réception des événements de télémétrie (par exemple, un lecteur non autorisé). Cette catégorie ne peut pas intercepter les erreurs provoquées par le code en cours d’exécution sur l’appareil lui-même.

{
    "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"
        }
    ]
}

Commandes cloud-à-appareil

La catégorie de commandes cloud-à-appareil effectue le suivi des erreurs qui se produisent au niveau du hub IoT et qui sont liées au pipeline de messages cloud-à-appareil. Cette catégorie inclut les erreurs qui surviennent suite à ces événements :

  • Envoi de messages cloud-à-appareil (erreurs liées aux expéditeurs non autorisés, par exemple)
  • Réception de messages cloud-à-appareil (erreurs liées au dépassement du nombre de remises, par exemple)
  • Réception de commentaires sur les messages cloud-à-appareil (erreurs liées à l’expiration des commentaires, par exemple)

Cette catégorie ne signale pas les erreurs lorsque le message cloud-à-appareil est bien remis mais qu’il n’est pas correctement traité par l’appareil.

{
    "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"
        }
    ]
}

Opérations d’identité des appareils

La catégorie d’opérations d’identité des appareils effectue le suivi des erreurs qui se produisent quand vous tentez de créer, mettre à jour ou supprimer une entrée dans le registre d’identité de votre hub IoT. Le suivi de cette catégorie est utile pour les scénarios d’approvisionnement.

{
    "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"
        }
    ]
}

Opérations de téléchargement de fichier

La catégorie de chargement de fichiers effectue le suivi des erreurs qui se produisent au niveau de l’IoT hub et qui sont liées à la fonctionnalité de chargement. Cette catégorie inclut :

  • Erreurs qui se produisent avec l’URI SAP, par exemple en cas d’expiration avant qu’un appareil notifie le hub d’un téléchargement terminé.

  • Échecs des téléchargements signalés par l’appareil.

  • Erreurs qui se produisent lorsqu’un fichier est introuvable dans le stockage lors de la création du message de notification IoT Hub.

Cette catégorie ne peut pas détecter les erreurs qui surviennent directement pendant que l’appareil charge un fichier de stockage.

{
    "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"
        }
    ]
}

Itinéraires

La catégorie de routage des messages assure le suivi des erreurs qui se produisent pendant l’évaluation du routage des messages et de l’intégrité du point de terminaison perçue par IoT Hub. Cette catégorie inclut les événements de type :

  • Une règle est évaluée sur « indéfinie »
  • Un point de terminaison est signalé comme étant inactif par IoT Hub
  • Toutes les erreurs reçues depuis un point de terminaison

Cette catégorie n’inclut pas les erreurs spécifiques aux messages eux-mêmes (les erreurs de limitation des appareils, par exemple) qui sont signalées dans la catégorie « télémétrie des appareils ».

{
    "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"
        }
    ]
}

Voici plus de détails sur le routage des journaux de ressource :

Opérations jumelles appareil à cloud

La catégorie des opérations jumelles appareil-à-cloud effectue le suivi des événements initiés par l’appareil sur des jumeaux d’appareil. Ces opérations peuvent inclure l’obtention d’un jumeau, la mise à jour les propriétés signalées et l’abonnement aux propriétés souhaitées.

{
    "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"
        }
    ]
}

Opérations jumelles cloud à appareil

La catégorie des opérations jumelles cloud-à-appareil effectue le suivi des événements initiés par le service sur des jumeaux d’appareil. Ces opérations peuvent inclure : obtenir un jumeau, mettre à jour ou remplacer des balises, et mettre à jour ou remplacer les propriétés souhaitées.

{
    "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"
        }
    ]
}

Requêtes de jumeaux

La catégorie des requêtes de jumeaux génère un rapport sur les demandes de requêtes pour jumeaux d’appareil lancées dans le cloud.

{
    "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"
        }
    ]
}

Opérations de travaux

La catégorie des opérations de travaux génère un rapport sur les demandes de travaux pour mettre à jour des jumeaux d’appareil ou appeler des méthodes directes sur plusieurs appareils. Ces demandes sont lancées dans le cloud.

{
    "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éthodes directes

La catégorie des méthodes directes assure le suivi des interactions demande-réponse envoyées à des appareils individuels. Ces demandes sont lancées dans le cloud.

{
    "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"
        }
    ]
}

Traçage distribué (préversion)

La catégorie de traçage distribué suit les ID de corrélation pour les messages comportant l’en-tête de contexte de trace. Pour activer pleinement ces journaux d’activité, le code côté client doit être mis à jour en suivant Analyser et diagnostiquer les applications IoT de bout en bout avec le traçage distribué IoT Hub (preview).

correlationId est conforme à la proposition Contexte de trace W3C, car il contient un trace-id ainsi qu’un span-id.

Journaux d’activité appareil à cloud (D2C) IoT Hub

IoT Hub enregistre ce journal en recevant un message contenant des propriétés de trace valides.

{
    "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"
        }
    ]
}

Ici, durationMs n’est pas calculé, car l’horloge IoT Hub peut ne pas être synchronisée avec l’horloge de l’appareil, ce qui fausse le calcul de durée. Nous recommandons d’écrire la logique en utilisant les horodatages de la section properties pour capturer les pics de latence de l’appareil vers le cloud.

Propriété Type Description
messageSize Integer Taille du message appareil-à-cloud, en octets
deviceId Chaîne de caractères alphanumériques ASCII 7 bits Identité de l’appareil
callerLocalTimeUtc Horodateur UTC Heure de création du message telle que rapportée par l’horloge local de l’appareil
calleeLocalTimeUtc Horodateur UTC Heure de réception du message sur la passerelle d’IoT Hub telle qu’elle est rapportée par l’horloge du service IoT Hub

Journaux d’activité d’entrée IoT Hub

IoT Hub enregistre ce journal lorsqu’un message contenant des propriétés de trace valides écrit dans Event Hubs interne ou intégré.

{
    "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"
        }
    ]
}

Dans la section properties, ce journal contient des informations supplémentaires sur l’entrée des messages.

Propriété Type Description
isRoutingEnabled String Indique si le routage des messages est activé (true) ou non (false) dans le hub IoT
parentSpanId String span-id du message parent, qui serait la trace du message D2C dans ce cas-ci

Journaux d’activité de sortie IoT Hub

IoT Hub enregistre ce journal lorsque le routage est activé et que le message est écrit sur un point de terminaison. Si le routage n’est pas activé, IoT Hub n’enregistre pas ce journal.

{
    "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"
        }
    ]
}

Dans la section properties, ce journal contient des informations supplémentaires sur l’entrée des messages.

Propriété Type Description
endpointName String Nom du point de terminaison de routage
endpointType String Type du point de terminaison de routage
parentSpanId String span-id du message parent, qui serait la trace du message d’entrée IoT Hub dans ce cas-ci

Configurations

Les journaux de configuration d’IoT Hub permettent de suivre les événements et les erreurs pour l’ensemble de fonctionnalités de la gestion automatique des appareils.

{
    "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"
         }
    ]
}

Flux d’appareils (préversion)

La catégorie des flux d’appareil assure le suivi des interactions requête-réponse envoyées à des appareils individuels.

{
    "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"
         }
    ]
}

Tables Azure Monitor Logs

Cette section fait référence à toutes les tables Kusto d’Azure Monitor Logs pertinentes pour Azure IoT Hub et disponibles pour une requête par Log Analytics. Pour obtenir la liste de ces tables et des liens vers des informations supplémentaires sur le type de ressource IoT Hub, consultez IoT Hub dans la référence de table Azure Monitor Logs.

Pour obtenir une référence de toutes les tables Azure Monitor Logs/Log Analytics, consultez la référence relative aux tables Azure Monitor Logs.

Voir aussi