Share via


Accedere alle metriche predefinite in Azure IoT Edge

Si applica a:Segno di spunta IoT Edge 1.5 IoT Edge 1.5 Segno di spunta IoT Edge 1.4 IoT Edge 1.4

Importante

IoT Edge 1.5 LTS e IoT Edge 1.4 LTS sono versioni supportate. IoT Edge 1.4 LTS è di fine vita il 12 novembre 2024. Se si usa una versione precedente, vedere Aggiornare IoT Edge.

I componenti di runtime di IoT Edge, l'hub IoT Edge e l'agente IoT Edge producono metriche predefinite nel formato di esposizione prometheus. Accedere a queste metriche in modalità remota per monitorare e comprendere l'integrità di un dispositivo IoT Edge.

È possibile usare la propria soluzione per accedere a queste metriche. In alternativa, è possibile usare il modulo metrics-collector, che gestisce la raccolta delle metriche predefinite e l'invio a Monitoraggio di Azure o hub IoT di Azure. Per altre informazioni, vedere Raccogliere e trasportare le metriche.

Le metriche vengono esposte automaticamente per impostazione predefinita sulla porta 9600 dei moduli edgeHub e edgeAgent (http://edgeHub:9600/metrics e http://edgeAgent:9600/metrics). Non sono mappate per impostazione predefinita all'host.

Accedere alle metriche dall'host esponendo ed eseguendo il mapping della porta delle metriche dal modulo createOptions. L'esempio seguente esegue il mapping della porta delle metriche predefinita alla porta 9601 nell'host:

{
  "ExposedPorts": {
    "9600/tcp": {}
  },
  "HostConfig": {
    "PortBindings": {
      "9600/tcp": [
        {
          "HostPort": "9601"
        }
      ]
    }
  }
}

Scegliere numeri di porta host diversi e univoci se si esegue il mapping degli endpoint delle metriche di edgeHub e edgeAgent.

Nota

La variabile di ambiente non deve essere impostata su false per le metriche predefinite httpSettings__enabled da rendere disponibili per la raccolta.

Le variabili di ambiente che possono essere usate per disabilitare le metriche sono elencate nella documentazione del repository azure/iotedge.

Metriche disponibili

Le metriche contengono tag per identificare la natura della metrica da raccogliere. Tutte le metriche contengono i tag seguenti:

Tag Descrizione
iothub L'hub con cui il dispositivo sta parlando
edge_device ID del dispositivo corrente
instance_number GUID che rappresenta il runtime corrente. Al riavvio, tutte le metriche vengono reimpostate. Questo GUID semplifica la riconciliazione dei riavvii.

Nel formato di esposizione prometheus sono disponibili quattro tipi di metriche principali: contatore, misuratore, istogramma e riepilogo. Per altre informazioni sui diversi tipi di metrica, vedere la documentazione relativa ai tipi di metriche Prometheus.

I quantili forniti per l'istogramma predefinito e le metriche di riepilogo sono 0,1, 0,5, 0,9 e 0,99.

Il modulo edgeHub produce le metriche seguenti:

Nome Dimensioni Descrizione
edgehub_gettwin_total source (origine operazione)
id (ID modulo)
Tipo: contatore
Numero totale di chiamate GetTwin
edgehub_messages_received_total route_output (output che ha inviato il messaggio)
id
Tipo: contatore
Numero totale di messaggi ricevuti dai client
edgehub_messages_sent_total from (origine messaggio)
to (destinazione del messaggio)
from_route_output
to_route_input (input di destinazione del messaggio)
priority (priorità del messaggio per la destinazione)
Tipo: contatore
Numero totale di messaggi inviati ai client o upstream
to_route_input è vuoto quando to è $upstream
edgehub_reported_properties_total target(destinazione di aggiornamento)
id
Tipo: contatore
Chiamate totali degli aggiornamenti delle proprietà segnalate
edgehub_message_size_bytes id
Tipo: riepilogo
Dimensioni dei messaggi dai client
I valori possono essere segnalati come NaN se non vengano segnalate nuove misurazioni per un determinato periodo di tempo (attualmente 10 minuti); per summary il tipo, i contatori corrispondenti _count e _sum vengono generati.
edgehub_gettwin_duration_seconds source
id
Tipo: riepilogo
Tempo impiegato per le operazioni get twin
edgehub_message_send_duration_seconds from
to
from_route_output
to_route_input
Tipo: riepilogo
Tempo impiegato per inviare un messaggio
edgehub_message_process_duration_seconds from
to
priority
Tipo: riepilogo
Tempo impiegato per elaborare un messaggio dalla coda
edgehub_reported_properties_update_duration_seconds target
id
Tipo: riepilogo
Tempo impiegato per aggiornare le proprietà segnalate
edgehub_direct_method_duration_seconds from (chiamante)
to (ricevitore)
Tipo: riepilogo
Tempo impiegato per risolvere un messaggio diretto
edgehub_direct_methods_total from
to
Tipo: contatore
Numero totale di messaggi diretti inviati
edgehub_queue_length endpoint (origine messaggio)
priority (priorità coda)
Tipo: misuratore
Lunghezza corrente della coda di edgeHub per una determinata priorità
edgehub_messages_dropped_total reason (no_route, ttl_expiry)
from
from_route_output
Tipo: contatore
Numero totale di messaggi rimossi a causa del motivo
edgehub_messages_unack_total reason (storage_failure)
from
from_route_output
Tipo: contatore
Numero totale di messaggi non riconosciuti a causa di un errore di archiviazione
edgehub_offline_count_total id Tipo: contatore
Numero totale di volte in cui edgeHub è andato offline
edgehub_offline_duration_seconds id Tipo: riepilogo
L'hub perimetrale temporale era offline
edgehub_operation_retry_total id
operation (nome operazione)
Tipo: contatore
Numero totale di tentativi di operazioni edgeHub
edgehub_client_connect_failed_total id
reason (non autenticato)
Tipo: contatore
Numero totale di volte in cui i client non sono riusciti a connettersi a edgeHub

Il modulo edgeAgent produce le metriche seguenti:

Nome Dimensioni Descrizione
edgeAgent_total_time_running_correctly_seconds module_name Tipo: misuratore
Periodo di tempo in cui il modulo è stato specificato nella distribuzione ed era nello stato di esecuzione
edgeAgent_total_time_expected_running_seconds module_name Tipo: misuratore
Periodo di tempo in cui il modulo è stato specificato nella distribuzione
edgeAgent_module_start_total module_name, module_version Tipo: contatore
Numero di volte in cui edgeAgent ha chiesto a Docker di avviare il modulo
edgeAgent_module_stop_total module_name, module_version Tipo: contatore
Numero di volte in cui edgeAgent ha chiesto a Docker di arrestare il modulo
edgeAgent_command_latency_seconds command Tipo: misuratore
Quanto tempo è necessario per eseguire docker per eseguire il comando specificato. I comandi possibili sono: creare, aggiornare, rimuovere, avviare, arrestare e riavviare
edgeAgent_iothub_syncs_total Tipo: contatore
Numero di tentativi di sincronizzazione del dispositivo gemello con iotHub, sia riuscito che non riuscito. Questo numero include sia l'agente che richiede un gemello e l'hub che invia una notifica di un aggiornamento gemello
edgeAgent_unsuccessful_iothub_syncs_total Tipo: contatore
Numero di volte in cui edgeAgent non è riuscito a sincronizzare il gemello con iotHub.
edgeAgent_deployment_time_seconds Tipo: contatore
Tempo necessario per completare una nuova distribuzione dopo la ricezione di una modifica.
edgeagent_direct_method_invocations_count method_name Tipo: contatore
Numero di volte in cui viene chiamato un metodo diretto edgeAgent predefinito, ad esempio Ping o Restart.
edgeAgent_host_uptime_seconds Tipo: misuratore
Quanto tempo l'host è stato attivo
edgeAgent_iotedged_uptime_seconds Tipo: misuratore
Quanto tempo è in esecuzione iotedged
edgeAgent_available_disk_space_bytes disk_name, disk_filesystem, disk_filetype Tipo: misuratore
Quantità di spazio lasciata sul disco
edgeAgent_total_disk_space_bytes disk_name, disk_filesystem, disk_filetype Tipo: misuratore
Dimensioni del disco
edgeAgent_used_memory_bytes module_name Tipo: misuratore
Quantità di RAM usata da tutti i processi
edgeAgent_total_memory_bytes module_name Tipo: misuratore
RAM disponibile
edgeAgent_used_cpu_percent module_name Tipo: istogramma
Percentuale di CPU usata da tutti i processi
edgeAgent_created_pids_total module_name Tipo: misuratore
Numero di processi o thread creati dal contenitore
edgeAgent_total_network_in_bytes module_name Tipo: misuratore
Numero di byte ricevuti dalla rete
edgeAgent_total_network_out_bytes module_name Tipo: misuratore
Numero di byte inviati alla rete
edgeAgent_total_disk_read_bytes module_name Tipo: misuratore
Numero di byte letti dal disco
edgeAgent_total_disk_write_bytes module_name Tipo: misuratore
Numero di byte scritti su disco
edgeAgent_metadata edge_agent_version, experimental_features, host_information Tipo: misuratore
Metadati generali sul dispositivo. Il valore è sempre 0, le informazioni vengono codificate nei tag. Si noti experimental_features e host_information sono oggetti JSON. host_information ha un aspetto simile a {"OperatingSystemType": "linux", "Architecture": "x86_64", "Version": "1.2.7", "Provisioning": {"Type": "dps.tpm", "DynamicReprovisioning": false, "AlwaysReprovisionOnStartup": false}, "ServerVersion": "20.10.11+azure-3", "KernelVersion": "5.11.0-1027-azure", "OperatingSystem": "Ubuntu 20.04.4 LTS", "NumCpus": 2, "Virtualized": "yes"}. Si noti ServerVersion che è la versione di Docker ed Version è la versione del daemon di sicurezza di IoT Edge.

Passaggi successivi