Panoramica dell'aggiornamento dei dispositivi per hub IoT diagnostica
L'aggiornamento del dispositivo per hub IoT include diverse funzionalità che consentono di diagnosticare e risolvere gli errori sul lato dispositivo. Con la versione dell'agente v0.9.0, sono disponibili tre funzionalità di diagnostica:
I codici di errore di distribuzione possono essere visualizzati direttamente nell'interfaccia utente di Aggiornamento dispositivi
La raccolta log remota consente la creazione di operazioni di log, che indicano ai dispositivi di destinazione di caricare i log di diagnostica sul dispositivo in un account di archiviazione BLOB di Azure collegato
Agent Check esegue i controlli di convalida nei dispositivi registrati nell'istanza di Aggiornamento dispositivi con l'obiettivo di diagnosticare i dispositivi registrati nella hub IoT connessa, ma non vengono visualizzati in Aggiornamento dispositivo
Codici di errore di distribuzione nell'interfaccia utente
Quando un dispositivo segnala un errore di distribuzione al servizio Aggiornamento dispositivi, l'interfaccia utente dell'aggiornamento del dispositivo visualizza il report resultCode
del dispositivo e extendedResultCode
nell'interfaccia utente. Per visualizzare questi codici, seguire questa procedura:
Nella portale di Azure passare all'hub IoT.
Selezionare Aggiornamenti e quindi passare alla scheda Gruppi e distribuzioni.
Selezionare il nome di un gruppo con una distribuzione attiva per accedere alla pagina Dettagli gruppo .
Selezionare qualsiasi nome del dispositivo nell'elenco Dispositivi per aprire il pannello dei dettagli del dispositivo. Qui è possibile visualizzare il codice dei risultati segnalato dal dispositivo.
L'agente di riferimento per l'aggiornamento del dispositivo segue la convenzione standard del codice di stato HTTP per il campo del codice risultato(ad esempio, "200" indica l'esito positivo). Per altre informazioni su come analizzare i codici di risultato, vedere Codici di errore del client di aggiornamento del dispositivo.
Nota
Se l'agente di aggiornamento del dispositivo è stato modificato per segnalare i codici dei risultati personalizzati, i codici numerici verranno comunque passati all'interfaccia utente di Aggiornamento dispositivi. È quindi possibile fare riferimento a qualsiasi documentazione creata per analizzare questi codici numerici.
Raccolta log remota
Quando sono necessarie altre informazioni dal dispositivo per diagnosticare e risolvere un errore, è possibile usare la funzionalità raccolta log per indicare ai dispositivi di destinazione di caricare i log di diagnostica sul dispositivo in un account di archiviazione BLOB di Azure collegato. È possibile iniziare a usare questa funzionalità seguendo le istruzioni riportate in Raccolta remota dei log di diagnostica dai dispositivi.
La raccolta di log remoti di Device Update è una funzionalità basata su servizio e basata su operazioni. Per sfruttare la raccolta log, un dispositivo deve essere in grado di implementare l'interfaccia di diagnostica e il file di configurazione e di caricare file nell'archiviazione BLOB di Azure tramite SDK.
Da un livello elevato, la funzionalità di raccolta log funziona come segue:
L'utente crea una nuova operazione di log usando l'interfaccia utente o le API di Aggiornamento dispositivi, destinate a un massimo di 100 dispositivi che hanno implementato l'interfaccia Diagnostica.
Il servizio Aggiornamento dispositivi invia un messaggio di avvio della raccolta log ai dispositivi di destinazione usando l'interfaccia Diagnostica. Questo messaggio di avvio include l'ID operazione di log e un token di firma di accesso condiviso per il caricamento nell'account di archiviazione di Azure associato.
Al momento della ricezione del messaggio di avvio, l'agente di aggiornamento del dispositivo di destinazione tenta di raccogliere e caricare i file nei filepath predefiniti specificati nel file di configurazione dell'agente sul dispositivo. L'agente di riferimento per l'aggiornamento del dispositivo è configurato per caricare il log di diagnostica dell'agente di aggiornamento del dispositivo () e il log di diagnostica dell'agente DO ("
aduc.log
do-agent.log") per impostazione predefinita.L'agente di aggiornamento del dispositivo segnala quindi lo stato dell'operazione ( Riuscito o Non riuscito) al servizio, incluso l'ID operazione di log, un ResultCode e un ExtendedResultCode. Se l'agente di aggiornamento del dispositivo ha esito negativo, tenterà automaticamente di riprovare tre volte, segnalando solo lo stato finale al servizio.
Dopo che tutti i dispositivi di destinazione hanno segnalato lo stato del terminale al servizio Aggiornamento dispositivi, il servizio Aggiornamento dispositivi contrassegna l'operazione di log come Riuscita o Non riuscita. Un'operazione di log riuscita indica che tutti i dispositivi di destinazione hanno completato correttamente l'operazione di log. Un'operazione di log non riuscita indica che almeno un dispositivo di destinazione ha avuto esito negativo nell'operazione di log.
Nota
Poiché l'operazione di log viene eseguita in parallelo dai dispositivi di destinazione, è possibile che alcuni dispositivi di destinazione siano stati caricati correttamente i log, ma l'operazione di log complessiva è contrassegnata come non riuscita. È possibile vedere quali dispositivi hanno avuto esito positivo e quali non sono riusciti visualizzando i dettagli dell'operazione di log tramite l'interfaccia utente o le API.
Controllo agente
Quando il dispositivo è registrato in hub IoT ma non viene visualizzato nell'istanza di Aggiornamento del dispositivo, è possibile usare la funzionalità Controllo agente per eseguire controlli di convalida pre-fatti per diagnosticare il problema sottostante. È possibile iniziare a usare questa funzionalità seguendo queste istruzioni di Controllo agente.
Da un livello elevato, la funzionalità di controllo dell'agente funziona come segue:
L'utente registra un dispositivo con hub IoT. Se il dispositivo segnala un ID modello che corrisponde a quelli compatibili con l'aggiornamento del dispositivo per hub IoT, l'istanza di Aggiornamento dispositivo connessa dell'utente registra automaticamente il dispositivo con l'aggiornamento del dispositivo.
Affinché un dispositivo sia gestito correttamente dall'aggiornamento del dispositivo, deve soddisfare determinati criteri che possono essere verificati usando i controlli di convalida predefiniti dell'agente. Altre informazioni su questi criteri sono disponibili qui.
Se un dispositivo non soddisfa tutti questi criteri, non può essere gestito correttamente dall'aggiornamento del dispositivo e non verrà visualizzato nell'interfaccia di aggiornamento del dispositivo o nelle risposte dell'API. Gli utenti possono usare Controllo agente per trovare questo dispositivo e tentare di identificare quali criteri non vengono soddisfatti usando Controllo agente.
Dopo che l'utente ha identificato quali criteri non sono soddisfatti, l'utente può correggere il problema e il dispositivo dovrebbe quindi essere visualizzato correttamente nell'interfaccia Aggiornamento dispositivi.
Passaggi successivi
Informazioni su come usare la raccolta di log remoti di Device Update e le funzionalità Controllo agente: