Aggiungere le metriche personalizzate

Si applica a:IoT Edge 1.4 checkmark IoT Edge 1.4

Importante

IoT Edge 1.4 è la versione supportata. Se si usa una versione precedente, vedere Aggiornare IoT Edge.

Raccogliere metriche personalizzate dai moduli IoT Edge oltre alle metriche predefinite fornite dai moduli di sistema. Le metriche predefinite offrono una grande visibilità di base sull'integrità della distribuzione. Tuttavia, potrebbero essere necessarie informazioni aggiuntive dai moduli personalizzati per completare l'immagine. I moduli personalizzati possono essere integrati nella soluzione di monitoraggio usando la libreria client Prometheus appropriata per generare metriche. Queste informazioni aggiuntive possono abilitare nuove visualizzazioni o avvisi specializzati per i requisiti.

Repository di moduli di esempio

Vedere il repository azure-samples per esempi di moduli personalizzati instrumentati per generare metriche. Anche se un esempio nella lingua preferita non è ancora disponibile, l'approccio generale può essere utile.

Convenzioni di denominazione

Per indicazioni generali, consultare le procedure consigliate della documentazione di Prometheus. Le raccomandazioni aggiuntive seguenti possono essere utili per gli scenari di IoT Edge.

  • Includere il nome del modulo all'inizio del nome della metrica per cancellare il modulo che ha generato la metrica.

  • Includere il nome dell'hub IoT o il nome dell'applicazione IoT Central, l'ID dispositivo IoT Edge e l'ID modulo come etichette (dette anche dimensioni dei tag/) in ogni metrica. Queste informazioni sono disponibili come variabili di ambiente per ogni modulo avviato dall'agente IoT Edge. L'approccio è dimostrato dall'esempio nel repository di esempi. Senza questo contesto, è impossibile associare un determinato valore di metrica a un determinato dispositivo.

  • Includere un ID istanza nelle etichette. Un ID istanza può essere qualsiasi ID univoco, ad esempio un GUID generato durante l'avvio del modulo. Le informazioni sull'ID istanza consentono di riconciliare i riavvii del modulo durante l'elaborazione delle metriche di un modulo nel back-end.

Configurare l'agente di raccolta metriche per raccogliere metriche personalizzate

Quando un modulo personalizzato genera metriche, il passaggio successivo consiste nel configurare il modulo metrics-collector per raccogliere e trasportare metriche personalizzate.

La variabile MetricsEndpointsCSV di ambiente deve essere aggiornata per includere l'URL dell'endpoint delle metriche del modulo personalizzato. Quando si aggiorna la variabile di ambiente, assicurarsi di includere gli endpoint del modulo di sistema, come illustrato nell'esempio di configurazione dell'agente di raccolta metriche.

Nota

Per impostazione predefinita, l'endpoint delle metriche di un modulo personalizzato non deve essere mappato a una porta host per consentire all'agente di raccolta metriche di accedervi. A meno che non venga eseguito l'override esplicito, in Linux entrambi i moduli vengono avviati in una rete docker bridge definita dall'utente denominata azure-iot-edge.

Le reti Docker definite dall'utente includono un resolver DNS predefinito che consente la comunicazione tra moduli tramite nomi di modulo (contenitore). Ad esempio, se un modulo personalizzato denominato module1 genera metriche sulla porta HTTP 9600 nel percorso /metrics, l'agente di raccolta deve essere configurato per la raccolta dall'endpoint http://module1:9600/metrics.

Eseguire il comando seguente nel dispositivo IoT Edge per verificare se le metriche generate da un modulo personalizzato sulla porta HTTP 9600 nel percorso /metrics sono accessibili:

sudo docker exec replace-with-metrics-collector-module-name curl http://replace-with-custom-module-name:9600/metrics

Aggiungere visualizzazioni personalizzate

Dopo aver ricevuto metriche personalizzate in Log Analytics, è possibile creare visualizzazioni e avvisi personalizzati. Le cartelle di lavoro di monitoraggio possono essere aumentate per aggiungere visualizzazioni basate su query.

Ogni metrica è associata all'ID risorsa dell'hub IoT o dell'applicazione IoT Central. Ecco perché è possibile verificare se le metriche personalizzate sono state inserite correttamente dalla pagina Log dell'hub IoT associato o dell'applicazione IoT Central anziché dall'area di lavoro Log Analytics di backup. Usare questa query KQL di base per verificare:

InsightsMetrics
| where Name == 'replace-with-custom-metric-name'

Dopo aver confermato l'inserimento, è possibile creare una nuova cartella di lavoro o aumentare una cartella di lavoro esistente. Usare la documentazione e le query delle cartelle di lavoro di IoT Edge curate come guida.

Quando si è soddisfatti dei risultati, è possibile condividere la cartella di lavoro con il team o distribuirle a livello di codice come parte delle distribuzioni delle risorse dell'organizzazione.

Passaggi successivi

Esplorare altre opzioni di visualizzazione delle metriche con cartelle di lavoro curate.