Vue d’ensemble des diagnostics dans Device Update pour IoT Hub
Device Update pour IoT Hub propose plusieurs fonctionnalités pour vous aider à diagnostiquer et résoudre les erreurs côté appareil. Dans l’agent version 0.8.0, deux fonctionnalités de diagnostic sont disponibles :
Les codes d’erreur de déploiement peuvent être consultés directement dans la dernière préversion de l’interface utilisateur de Device Update
La collecte de journaux à distance permet de créer des opérations de journalisation qui demandent le chargement des journaux de diagnostics se trouvant sur les appareils ciblés dans un compte Stockage Blob Azure lié.
Codes d’erreur de déploiement dans l’interface utilisateur
Quand un appareil signale un échec de déploiement au service Device Update, l’interface utilisateur de Device Update affiche les codes resultCode
et extendedResultCode
signalés de l’appareil dans l’interface utilisateur. Pour afficher ces codes, effectuez les étapes suivantes :
Accédez à votre IoT Hub dans le portail Azure.
Sélectionnez Mises à jour, puis accédez à l’onglet Groupes et déploiements.
Sélectionnez le nom d’un groupe avec un déploiement actif pour accéder à la page Détails du groupe.
Sélectionnez un nom d’appareil dans la Liste des appareils pour ouvrir le panneau de détails de l’appareil. Ici, vous pouvez voir le code résultat signalé par l’appareil.
L’agent de référence Device Update respecte la convention des codes d’état HTTP standard pour le champ Code résultat (par exemple, « 200 » indique une réussite). Pour plus d’informations sur l’analyse des codes résultats, consultez les codes d’erreur du client Device Update.
Notes
Si vous avez modifié l’agent Device Update pour qu’il signale des codes résultats personnalisés, les codes numériques seront toujours transmis à l’interface utilisateur de Device Update. Vous pouvez ensuite vous référer à toute documentation que vous avez créée pour analyser ces codes numériques.
Collecte de journaux à distance
Si vous avez besoin d’autres informations contenues sur l’appareil pour diagnostiquer et résoudre une erreur, vous pouvez utiliser la fonctionnalité de collecte de journaux pour demander le chargement des journaux de diagnostics se trouvant sur les appareils ciblés dans un compte Stockage Blob Azure lié. Vous pouvez commencer à utiliser cette fonctionnalité en suivant les instructions dans Collecter à distance les journaux de diagnostic d’appareils.
La fonctionnalité de collecte de journaux à distance de Device Update est basée sur les opérations et pilotée par le service. Pour tirer parti de la collecte de journaux, un appareil doit simplement être en mesure d’implémenter l’interface de diagnostic et le fichier de configuration, et de charger des fichiers vers le Stockage Blob Azure par le biais d’un SDK.
Voici une vue d’ensemble du fonctionnement de la collecte de journaux :
L’utilisateur crée une opération de journalisation en utilisant des API ou l’interface utilisateur de Device Update. Il peut cibler jusqu’à 100 appareils ayant implémenté l’interface de diagnostic.
Le service Device Update envoie un message de démarrage de la collecte de journaux aux appareils ciblés utilisant l’interface de diagnostic. Ce message de démarrage comprend l’ID de l’opération de journalisation et un jeton SAS pour effectuer le chargement sur le compte de stockage Azure associé.
Quand il reçoit le message de démarrage, l’agent Device Update de l’appareil ciblé tente de collecter et de charger les fichiers dans les éléments FilePath prédéfinis spécifiés dans le fichier de configuration de l’agent sur l’appareil. L’agent de référence Device Update est configuré par défaut pour charger le journal de diagnostic de l’agent Device Update (
aduc.log
) et celui de l’agent DO (do-agent.log).L’agent Device Update indique ensuite l’état de l’opération (réussite ou échec) au service, avec notamment l’ID de l’opération de journalisation et les codes ResultCode et ExtendedResultCode. Si l’agent Device Update ne parvient pas à effectuer une opération de journalisation, il réessaye automatiquement trois fois (seul le dernier état étant signalé au service).
Une fois que tous les appareils ciblés ont signalé leur état terminal au service Device Update, le service Device Update marque l’opération de journalisation comme ayant réussi ou échoué. Une opération de journalisation réussie indique que tous les appareils ciblés ont réussi l’opération de journalisation. Un échec signifie qu’au moins un appareil ciblé n’a pas pu effectuer l’opération de journalisation.
Notes
L’opération de journalisation étant effectuée en parallèle par les appareils ciblés, il est possible que l’opération de journalisation globale soit marquée comme ayant échoué même si certains appareils ciblés ont réussi à charger les journaux. Pour identifier les appareils qui ont réussi et ceux qui ont échoué, examinez les détails de l’opération de journalisation par le biais de l’interface utilisateur ou des API.
Étapes suivantes
Découvrez comment utiliser la fonctionnalité de collecte de journaux à distance de Device Update : Collecter à distance les journaux de diagnostic d’appareils avec Device Update pour IoT Hub