Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:
IoT Edge 1.5
Importante
IoT Edge 1.5 LTS è la versione supportata. IoT Edge 1.4 LTS è di fine vita a partire dal 12 novembre 2024. Se si usa una versione precedente, vedere Aggiornare IoT Edge.
I componenti del runtime IoT Edge, l'hub di IoT Edge e l'agente di IoT Edge, producono metriche incorporate nel formato di esposizione Prometheus. Accedere a queste metriche in modalità remota per monitorare e comprendere l'integrità di un dispositivo IoT Edge.
Usare la propria soluzione per accedere a queste metriche o usare il modulo metrics-collector, che raccoglie le metriche predefinite e le invia a Monitoraggio di Azure o all'hub IoT di Azure. Per altre informazioni, vedere Raccogliere e trasportare le metriche.
Le metriche vengono esposte per impostazione predefinita sulla porta 9600 dei moduli edgeHub e edgeAgent (http://edgeHub:9600/metrics e http://edgeAgent:9600/metrics). Non vengono mappati all'host per impostazione predefinita.
Accedere alle metriche dall'host esponendo ed eseguendo la mappatura della porta delle metriche nel modulo createOptions. L'esempio seguente mappa la porta delle metriche predefinita sulla porta 9601 dell'host.
{
"ExposedPorts": {
"9600/tcp": {}
},
"HostConfig": {
"PortBindings": {
"9600/tcp": [
{
"HostPort": "9601"
}
]
}
}
}
Scegliere numeri di porta host diversi e univoci durante il mapping degli endpoint delle metriche edgeHub e edgeAgent.
Nota
La variabile di ambiente non deve essere impostata su httpSettings__enabled per rendere disponibili le metriche predefinite false 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 includono tag che identificano la natura della metrica da raccogliere. Tutte le metriche includono i tag seguenti:
| Etichetta | Descrizione |
|---|---|
| iothub | L'hub con cui comunica il dispositivo |
| 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. |
Il formato di esposizione prometheus include 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 per gli istogrammi predefiniti e le metriche di riepilogo sono 0,1, 0,5, 0,9 e 0,99.
Il modulo edgeHub genera 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 dei messaggi)from_route_outputto_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 (Aggiorna destinazione)id |
Tipo: contatore Chiamate totali degli aggiornamenti delle proprietà segnalate |
edgehub_message_size_bytes |
id |
Tipo: riepilogo Dimensioni dei messaggi dai client I valori potrebbero essere segnalati come NaN se non vengano segnalate nuove misurazioni per 10 minuti. Per il tipo summary, vengono generati i contatori corrispondenti _count e _sum. |
edgehub_gettwin_duration_seconds |
source id |
Tipo: riepilogo Tempo impiegato per le operazioni get twin |
edgehub_message_send_duration_seconds |
fromtofrom_route_outputto_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 |
targetid |
Tipo: riepilogo Tempo impiegato per aggiornare le proprietà segnalate |
edgehub_direct_method_duration_seconds |
from (chiamante)to (destinatario) |
Tipo: riepilogo Tempo impiegato per risolvere un messaggio diretto |
edgehub_direct_methods_total |
fromto |
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_scadenza)from from_route_output |
Tipo: contatore Numero totale di messaggi rimossi a causa del motivo |
edgehub_messages_unack_total |
reason (errore_archiviazione)fromfrom_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 |
idoperation (operation_Name) |
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 genera 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 a una 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 nel disco |
edgeAgent_metadata |
edge_agent_version, experimental_features, host_information |
Tipo: misuratore Metadati generali sul dispositivo. Il valore è sempre 0 e le informazioni vengono codificate nei tag. Si noti che 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 che ServerVersion è la versione di Docker e Version è la versione del daemon di sicurezza di IoT Edge. |