Få åtkomst till inbyggda mått i Azure IoT Edge

Gäller för:Bockmarkering för IoT Edge 1.5 IoT Edge 1.5 Bockmarkering för IoT Edge 1.4 IoT Edge 1.4

Viktigt!

IoT Edge 1.5 LTS och IoT Edge 1.4 LTS stöds. IoT Edge 1.4 LTS upphör den 12 november 2024. Om du har en tidigare version läser du Uppdatera IoT Edge.

IoT Edge-körningskomponenterna, IoT Edge-hubben och IoT Edge-agenten, skapar inbyggda mått i Prometheus-expositionsformatet. Fjärranslut till dessa mått för att övervaka och förstå hälsotillståndet för en IoT Edge-enhet.

Du kan använda din egen lösning för att komma åt dessa mått. Eller så kan du använda modulen metrics-collector, som hanterar insamling av inbyggda mått och skickar dem till Azure Monitor eller Azure IoT Hub. Mer information finns i Samla in och transportera mått.

Mått exponeras automatiskt som standard på port 9600 för modulerna edgeHub och edgeAgent (http://edgeHub:9600/metrics och http://edgeAgent:9600/metrics). De är inte portmappade till värden som standard.

Få åtkomst till mått från värden genom att exponera och mappa måttporten från modulens createOptions. Exemplet nedan mappar standardmåttporten till port 9601 på värden:

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

Välj olika och unika värdportnummer om du mappar både edgeHub- och edgeAgent-måttslutpunkterna.

Kommentar

Miljövariabeln httpSettings__enabled ska inte anges till för att false inbyggda mått ska vara tillgängliga för samling.

Miljövariabler som kan användas för att inaktivera mått visas i dokumentet azure/iotedge-lagringsplats.

Tillgängliga mått

Mått innehåller taggar som hjälper dig att identifiera typen av mått som samlas in. Alla mått innehåller följande taggar:

Tagg beskrivning
iothub Hubben som enheten pratar med
edge_device ID för den aktuella enheten
instance_number Ett GUID som representerar den aktuella körningen. Vid omstart återställs alla mått. Detta GUID gör det enklare att stämma av omstarter.

I prometheus-expositionsformatet finns det fyra viktiga måtttyper: räknare, mätare, histogram och sammanfattning. Mer information om de olika måtttyperna finns i dokumentationen om Prometheus-måtttyper.

De quantiles som tillhandahålls för det inbyggda histogrammet och sammanfattningsmåtten är 0,1, 0,5, 0,9 och 0,99.

EdgeHub-modulen genererar följande mått:

Name Dimensioner beskrivning
edgehub_gettwin_total source (åtgärdskälla)
id (modul-ID)
Typ: räknare
Totalt antal GetTwin-samtal
edgehub_messages_received_total route_output (utdata som skickade meddelandet)
id
Typ: räknare
Totalt antal meddelanden som tagits emot från klienter
edgehub_messages_sent_total from (meddelandekälla)
to (meddelandemål)
from_route_output
to_route_input (meddelandemålsindata)
priority (meddelandeprioritet till mål)
Typ: räknare
Totalt antal meddelanden som skickas till klienter eller uppströms
to_route_input är tom när to är $upstream
edgehub_reported_properties_total target(uppdateringsmål)
id
Typ: räknare
Totalt antal rapporterade egenskapsuppdateringar
edgehub_message_size_bytes id
Typ: sammanfattning
Meddelandestorlek från klienter
Värden kan rapporteras som NaN om inga nya mätningar rapporteras under en viss tidsperiod (för närvarande 10 minuter), för summary typ, motsvarande _count och _sum räknare genereras.
edgehub_gettwin_duration_seconds source
id
Typ: sammanfattning
Tidsåtgång för att hämta tvillingåtgärder
edgehub_message_send_duration_seconds from
to
from_route_output
to_route_input
Typ: sammanfattning
Tiden det tar att skicka ett meddelande
edgehub_message_process_duration_seconds from
to
priority
Typ: sammanfattning
Tiden det tar att bearbeta ett meddelande från kön
edgehub_reported_properties_update_duration_seconds target
id
Typ: sammanfattning
Tiden det tar att uppdatera rapporterade egenskaper
edgehub_direct_method_duration_seconds from (uppringare)
to (mottagare)
Typ: sammanfattning
Tiden det tar att lösa ett direktmeddelande
edgehub_direct_methods_total from
to
Typ: räknare
Totalt antal skickade direktmeddelanden
edgehub_queue_length endpoint (meddelandekälla)
priority (köprioritet)
Typ: mätare
Aktuell längd på edgeHub-kön för en viss prioritet
edgehub_messages_dropped_total reason (no_route, ttl_expiry)
from
from_route_output
Typ: räknare
Totalt antal borttagna meddelanden på grund av orsak
edgehub_messages_unack_total reason (storage_failure)
from
from_route_output
Typ: räknare
Totalt antal meddelanden som inte har anträffats på grund av lagringsfel
edgehub_offline_count_total id Typ: räknare
Totalt antal gånger edgeHub gick offline
edgehub_offline_duration_seconds id Typ: sammanfattning
Tidsgränshubben var offline
edgehub_operation_retry_total id
operation (åtgärdsnamn)
Typ: räknare
Totalt antal gånger som edgeHub-åtgärder gjordes på nytt
edgehub_client_connect_failed_total id
reason (ej autentiserad)
Typ: räknare
Totalt antal gånger klienter inte kunde ansluta till edgeHub

EdgeAgent-modulen genererar följande mått:

Name Dimensioner beskrivning
edgeAgent_total_time_running_correctly_seconds module_name Typ: mätare
Hur lång tid modulen angavs i distributionen och var i körningstillstånd
edgeAgent_total_time_expected_running_seconds module_name Typ: mätare
Hur lång tid modulen angavs i distributionen
edgeAgent_module_start_total module_name, module_version Typ: räknare
Antal gånger edgeAgent bad docker att starta modulen
edgeAgent_module_stop_total module_name, module_version Typ: räknare
Antal gånger edgeAgent bad docker att stoppa modulen
edgeAgent_command_latency_seconds command Typ: mätare
Hur lång tid det tog för Docker att köra det angivna kommandot. Möjliga kommandon är: skapa, uppdatera, ta bort, starta, stoppa och starta om
edgeAgent_iothub_syncs_total Typ: räknare
Antal gånger edgeAgent försökte synkronisera sin tvilling med iotHub, både lyckad och misslyckad. Det här numret inkluderar både Agent som begär en tvilling och hubb som meddelar om en tvillinguppdatering
edgeAgent_unsuccessful_iothub_syncs_total Typ: räknare
Antal gånger edgeAgent inte kunde synkronisera sin tvilling med iotHub.
edgeAgent_deployment_time_seconds Typ: räknare
Hur lång tid det tog att slutföra en ny distribution efter att ha fått en ändring.
edgeagent_direct_method_invocations_count method_name Typ: räknare
Antal gånger som en inbyggd edgeAgent-direktmetod anropas, till exempel Ping eller Omstart.
edgeAgent_host_uptime_seconds Typ: mätare
Hur länge värden har varit på
edgeAgent_iotedged_uptime_seconds Typ: mätare
Hur länge iotedged har körts
edgeAgent_available_disk_space_bytes disk_name, , disk_filesystemdisk_filetype Typ: mätare
Mängden utrymme kvar på disken
edgeAgent_total_disk_space_bytes disk_name, , disk_filesystemdisk_filetype Typ: mätare
Diskens storlek
edgeAgent_used_memory_bytes module_name Typ: mätare
Mängden RAM-minne som används av alla processer
edgeAgent_total_memory_bytes module_name Typ: mätare
TILLGÄNGLIGT RAM-minne
edgeAgent_used_cpu_percent module_name Typ: histogram
Procent av processorn som används av alla processer
edgeAgent_created_pids_total module_name Typ: mätare
Antalet processer eller trådar som containern har skapat
edgeAgent_total_network_in_bytes module_name Typ: mätare
Antalet byte som tagits emot från nätverket
edgeAgent_total_network_out_bytes module_name Typ: mätare
Antalet byte som skickas till nätverket
edgeAgent_total_disk_read_bytes module_name Typ: mätare
Antalet byte som lästs från disken
edgeAgent_total_disk_write_bytes module_name Typ: mätare
Antalet byte som skrivits till disken
edgeAgent_metadata edge_agent_version, , experimental_featureshost_information Typ: mätare
Allmänna metadata om enheten. Värdet är alltid 0, informationen kodas i taggarna. Observera experimental_features och host_information är json-objekt. host_information ser ut som {"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"}. Observera ServerVersion att är Docker-versionen och Version är IoT Edge-säkerhetsdaemonversionen.

Nästa steg