Overzicht van diagnostische gegevens van Device Update voor IoT Hub

Device Update voor IoT Hub heeft verschillende functies waarmee u fouten aan de apparaatzijde kunt vaststellen en oplossen. Met de release van de v0.9.0-agent zijn er drie diagnostische functies beschikbaar:

  • Implementatiefoutcodes kunnen rechtstreeks worden weergegeven in de gebruikersinterface van Device Update

  • Externe logboekverzameling maakt het mogelijk logboekbewerkingen te maken, waarmee doelapparaten worden geïnstrueerd om diagnostische logboeken op apparaten te uploaden naar een gekoppeld Azure Blob Storage-account

  • Agentcontrole voert validatiecontroles uit op apparaten die zijn geregistreerd bij uw Device Update-exemplaar met als doel een diagnose te stellen van apparaten die zijn geregistreerd in de verbonden IoT Hub, maar niet worden weergegeven in Device Update

Implementatiefoutcodes in de gebruikersinterface

Wanneer een apparaat een implementatiefout rapporteert aan de Device Update-service, geeft de gebruikersinterface van Device Update de gerapporteerde resultCode en extendedResultCode in de gebruikersinterface van het apparaat weer. Gebruik de volgende stappen om deze codes weer te geven:

  1. Navigeer in de Azure Portal naar uw IoT-hub.

  2. Selecteer Updates en navigeer vervolgens naar het tabblad Groepen en implementaties.

  3. Selecteer de naam van een groep met een actieve implementatie om naar de pagina Groepsdetails te gaan.

  4. Selecteer een apparaatnaam in de lijst Apparaten om het deelvenster met apparaatdetails te openen. Hier ziet u de resultaatcode die het apparaat heeft gerapporteerd.

  5. De Device Update-referentieagent volgt de standaard HTTP-statuscodeconventie voor het resultaatcodeveld (bijvoorbeeld '200' geeft aan dat het is gelukt). Zie Foutcodes van Device Update-client voor meer informatie over het parseren van resultaatcodes.

    Notitie

    Als u de Device Update-agent hebt gewijzigd om aangepaste resultaatcodes te rapporteren, worden de numerieke codes nog steeds doorgegeven aan de gebruikersinterface van Device Update. Vervolgens kunt u alle documentatie raadplegen die u hebt gemaakt om deze numerieke codes te parseren.

Externe logboekverzameling

Wanneer meer informatie van het apparaat nodig is om een fout te diagnosticeren en op te lossen, kunt u de functie logboekverzameling gebruiken om doelapparaten te instrueren diagnostische logboeken op apparaten te uploaden naar een gekoppeld Azure Blob Storage-account. U kunt deze functie gaan gebruiken door de instructies in Diagnostische logboeken van apparaten op afstand verzamelen te volgen.

De externe logboekverzameling van Device Update is een servicegestuurde functie op basis van bewerkingen. Als u wilt profiteren van het verzamelen van logboeken, hoeft een apparaat alleen de diagnostische interface en het configuratiebestand te kunnen implementeren en bestanden te kunnen uploaden naar Azure Blob Storage via de SDK.

Vanaf een hoog niveau werkt de functie voor het verzamelen van logboeken als volgt:

  1. De gebruiker maakt een nieuwe logboekbewerking met behulp van de gebruikersinterface of API's van Device Update, gericht op maximaal 100 apparaten die de diagnostische interface hebben geïmplementeerd.

  2. De Device Update-service verzendt een startbericht voor de logboekverzameling naar de doelapparaten met behulp van de diagnostische interface. Dit startbericht bevat de id van de logboekbewerking en een SAS-token voor uploaden naar het gekoppelde Azure Storage-account.

  3. Na ontvangst van het startbericht probeert de Device Update-agent van het doelapparaat de bestanden te verzamelen en te uploaden in de vooraf gedefinieerde bestandspaden die zijn opgegeven in het configuratiebestand van de agent op het apparaat. De Device Update-referentieagent is geconfigureerd om het diagnostische logboek van de Device Update-agent (aduc.log) en het diagnostische logboek van de DO-agent ('do-agent.log') standaard te uploaden.

  4. De Device Update-agent rapporteert vervolgens de status van de bewerking ( geslaagd of mislukt) aan de service, inclusief de logboekbewerkings-id, een ResultCode en een ExtendedResultCode. Als de Device Update-agent een logboekbewerking mislukt, wordt er automatisch drie keer geprobeerd om het opnieuw te proberen, en wordt alleen de uiteindelijke status aan de service gerapporteerd.

  5. Zodra alle doelapparaten hun terminalstatus hebben gerapporteerd aan de Device Update-service, markeert de Device Update-service de logboekbewerking als Geslaagd of Mislukt. Een geslaagde logboekbewerking geeft aan dat alle doelapparaten de logboekbewerking hebben voltooid. Een mislukte logboekbewerking geeft aan dat ten minste één doelapparaat de logboekbewerking heeft mislukt.

    Notitie

    Omdat de logboekbewerking parallel wordt uitgevoerd door de doelapparaten, is het mogelijk dat sommige doelapparaten logboeken hebben geüpload, maar de algehele logboekbewerking wordt gemarkeerd als mislukt. U kunt zien welke apparaten zijn geslaagd en welke zijn mislukt door de details van de logboekbewerking te bekijken via de gebruikersinterface of API's.

Agentcontrole

Wanneer uw apparaat is geregistreerd in IoT Hub, maar niet wordt weergegeven in uw Device Update-exemplaar, kunt u de functie Agentcontrole gebruiken om vooraf gemaakte validatiecontroles uit te voeren om u te helpen bij het vaststellen van het onderliggende probleem. U kunt deze functie gaan gebruiken door deze instructies voor agentcontrole te volgen.

Op hoog niveau werkt de functie agentcontrole als volgt:

  • De gebruiker registreert een apparaat bij IoT Hub. Als het apparaat een model-id rapporteert die overeenkomt met de model-id die compatibel is met Device Update voor IoT Hub, wordt het apparaat automatisch geregistreerd bij Device Update door het verbonden device update-exemplaar van de gebruiker.

  • Om ervoor te zorgen dat een apparaat correct wordt beheerd door Device Update, moet het voldoen aan bepaalde criteria die kunnen worden geverifieerd met behulp van vooraf gemaakte validatiecontroles van Agent Check. Meer informatie over deze criteria vindt u hier.

  • Als een apparaat niet aan al deze criteria voldoet, kan het niet goed worden beheerd door Device Update en wordt het niet weergegeven in de Device Update-interface of API-antwoorden. Gebruikers kunnen agentcontrole gebruiken om dit apparaat te vinden en proberen te bepalen aan welke criteria niet wordt voldaan door AgentControle te gebruiken.

  • Zodra de gebruiker heeft vastgesteld aan welke criteria niet wordt voldaan, kan de gebruiker het probleem oplossen en moet het apparaat vervolgens correct worden weergegeven in de interface van Device Update.

Volgende stappen

Meer informatie over het gebruik van de externe logboekverzameling en agentcontrolefuncties van Device Update: