Toegang tot ingebouwde metrische gegevens in Azure IoT Edge

Van toepassing op:IoT Edge 1.5-vinkje IoT Edge 1.5 Vinkje voor IoT Edge 1.4 IoT Edge 1.4

Belangrijk

IoT Edge 1.5 LTS en IoT Edge 1.4 LTS worden ondersteund releases. IoT Edge 1.4 LTS eindigt op 12 november 2024. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.

De IoT Edge-runtimeonderdelen, de IoT Edge-hub en de IoT Edge-agent produceren ingebouwde metrische gegevens in de prometheus-indeling. Open deze metrische gegevens op afstand om de status van een apparaat IoT Edge bewaken.

U kunt uw eigen oplossing gebruiken om toegang te krijgen tot deze metrische gegevens. U kunt ook de module met metrische gegevensverzamelaar gebruiken, waarmee de ingebouwde metrische gegevens worden verzameld en naar Azure Monitor of Azure IoT Hub worden verzonden. Zie Metrische gegevens verzamelen en transporten voor meer informatie.

Metrische gegevens worden standaard automatisch weergegeven op poort 9600 van de edgeHub - en edgeAgent-modules (http://edgeHub:9600/metrics en http://edgeAgent:9600/metrics). Ze zijn niet standaard toegewezen aan de host.

Krijg toegang tot metrische gegevens van de host door de poort voor metrische gegevens beschikbaar te maken en toe te brengen vanuit de module createOptions. In het onderstaande voorbeeld wordt de standaardpoort voor metrische gegevens toegewezen aan poort 9601 op de host:

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

Kies verschillende en unieke hostpoortnummers als u de eindpunten voor metrische gegevens van edgeHub en edgeAgent toedeelt.

Notitie

De omgevingsvariabele httpSettings__enabled mag niet worden ingesteld op false ingebouwde metrische gegevens die beschikbaar zijn voor verzameling.

Omgevingsvariabelen die kunnen worden gebruikt om metrische gegevens uit te schakelen, worden vermeld in het azure/iotedge-opslagplaats-document.

Beschikbare metrische gegevens

Metrische gegevens bevatten tags om de aard van de verzamelde metrische gegevens te identificeren. Alle metrische gegevens bevatten de volgende tags:

Code Beschrijving
iothub De hub met wie het apparaat praat
edge_device De id van het huidige apparaat
instance_number Een GUID die de huidige runtime vertegenwoordigt. Bij opnieuw opstarten worden alle metrische gegevens opnieuw ingesteld. Deze GUID maakt het gemakkelijker om opnieuw opstarten af te stemmen.

In de prometheus-indeling zijn er vier kerngegevenstypen: teller, meter, histogram en samenvatting. Zie de documentatie voor metrische gegevens van Prometheus voor meer informatie over de verschillende typen metrische gegevens.

De kwantielen voor het ingebouwde histogram en de metrische samenvattingsgegevens zijn 0.1, 0,5, 0,9 en 0,99.

De edgeHub-module produceert de volgende metrische gegevens:

Naam Afmetingen Beschrijving
edgehub_gettwin_total source (bewerkingsbron)
id (module-id)
Type: teller
Totaal aantal GetTwin-aanroepen
edgehub_messages_received_total route_output (uitvoer die bericht heeft verzonden)
id
Type: teller
Totaal aantal berichten ontvangen van clients
edgehub_messages_sent_total from (berichtbron)
to (berichtbestemming)
from_route_output
to_route_input (berichtdoelinvoer)
priority (berichtprioriteit naar bestemming)
Type: teller
Totaal aantal berichten dat naar clients of upstream is verzonden
to_route_input is leeg wanneer to $upstream
edgehub_reported_properties_total target(doel bijwerken)
id
Type: teller
Totaal aantal updates van gerapporteerde eigenschappen
edgehub_message_size_bytes id
Type: samenvatting
Berichtgrootte van clients
Waarden kunnen worden gerapporteerd alsof NaN er gedurende een bepaalde periode (momenteel 10 minuten) geen nieuwe metingen worden gerapporteerd; voor summary het type worden overeenkomstige en _sum tellers _count verzonden.
edgehub_gettwin_duration_seconds source
id
Type: samenvatting
Tijd die nodig is voor het ophalen van dubbelbewerkingen
edgehub_message_send_duration_seconds from
to
from_route_output
to_route_input
Type: samenvatting
Tijd die nodig is om een bericht te verzenden
edgehub_message_process_duration_seconds from
to
priority
Type: samenvatting
Tijd die nodig is om een bericht uit de wachtrij te verwerken
edgehub_reported_properties_update_duration_seconds target
id
Type: samenvatting
De tijd die nodig is om gerapporteerde eigenschappen bij te werken
edgehub_direct_method_duration_seconds from (beller)
to (ontvanger)
Type: samenvatting
Tijd die nodig is om een direct bericht op te lossen
edgehub_direct_methods_total from
to
Type: teller
Totaal aantal verzonden directe berichten
edgehub_queue_length endpoint (berichtbron)
priority (wachtrijprioriteit)
Type: meter
Huidige lengte van de wachtrij van EdgeHub voor een bepaalde prioriteit
edgehub_messages_dropped_total reason (no_route, ttl_expiry)
from
from_route_output
Type: teller
Totaal aantal verwijderde berichten vanwege reden
edgehub_messages_unack_total reason (storage_failure)
from
from_route_output
Type: teller
Totaal aantal berichten dat niet is bekend omdat de opslagfout is mislukt
edgehub_offline_count_total id Type: teller
Totaal aantal keren dat EdgeHub offline is gegaan
edgehub_offline_duration_seconds id Type: samenvatting
Time Edge Hub was offline
edgehub_operation_retry_total id
operation (bewerkingsnaam)
Type: teller
Totaal aantal keren dat edgeHub-bewerkingen opnieuw zijn geprobeerd
edgehub_client_connect_failed_total id
reason (niet geverifieerd)
Type: teller
Totaal aantal keren dat clients geen verbinding kunnen maken met EdgeHub

De edgeAgent-module produceert de volgende metrische gegevens:

Naam Afmetingen Beschrijving
edgeAgent_total_time_running_correctly_seconds module_name Type: meter
De hoeveelheid tijd die de module tijdens de implementatie heeft opgegeven en de status Actief heeft
edgeAgent_total_time_expected_running_seconds module_name Type: meter
De tijdsduur waarop de module is opgegeven in de implementatie
edgeAgent_module_start_total module_name, module_version Type: teller
Aantal keren dat EdgeAgent docker heeft gevraagd om de module te starten
edgeAgent_module_stop_total module_name, module_version Type: teller
Aantal keren dat EdgeAgent docker heeft gevraagd om de module te stoppen
edgeAgent_command_latency_seconds command Type: meter
Hoe lang het docker duurde om de opgegeven opdracht uit te voeren. Mogelijke opdrachten zijn: maken, bijwerken, verwijderen, starten, stoppen en opnieuw opstarten
edgeAgent_iothub_syncs_total Type: teller
Aantal keren dat edgeAgent heeft geprobeerd de tweeling te synchroniseren met iotHub, zowel geslaagd als mislukt. Dit nummer omvat zowel agent die een dubbel aanvraagt als hub die een update van een tweeling informeert
edgeAgent_unsuccessful_iothub_syncs_total Type: teller
Aantal keren dat edgeAgent de tweeling niet kan synchroniseren met iotHub.
edgeAgent_deployment_time_seconds Type: teller
De tijd die nodig was om een nieuwe implementatie te voltooien nadat een wijziging is ontvangen.
edgeagent_direct_method_invocations_count method_name Type: teller
Het aantal keren dat een ingebouwde directe methode edgeAgent wordt aangeroepen, zoals Ping of Restart.
edgeAgent_host_uptime_seconds Type: meter
Hoe lang de host is ingeschakeld
edgeAgent_iotedged_uptime_seconds Type: meter
Hoe lang iotedged actief is
edgeAgent_available_disk_space_bytes disk_name, , disk_filesystemdisk_filetype Type: meter
Hoeveelheid ruimte op de schijf
edgeAgent_total_disk_space_bytes disk_name, , disk_filesystemdisk_filetype Type: meter
Grootte van de schijf
edgeAgent_used_memory_bytes module_name Type: meter
Hoeveelheid RAM die door alle processen wordt gebruikt
edgeAgent_total_memory_bytes module_name Type: meter
RAM beschikbaar
edgeAgent_used_cpu_percent module_name Type: histogram
Percentage cpu dat door alle processen wordt gebruikt
edgeAgent_created_pids_total module_name Type: meter
Het aantal processen of threads dat de container heeft gemaakt
edgeAgent_total_network_in_bytes module_name Type: meter
Het aantal bytes dat van het netwerk is ontvangen
edgeAgent_total_network_out_bytes module_name Type: meter
Het aantal bytes dat naar het netwerk is verzonden
edgeAgent_total_disk_read_bytes module_name Type: meter
Het aantal bytes dat van de schijf is gelezen
edgeAgent_total_disk_write_bytes module_name Type: meter
Het aantal bytes dat naar schijf is geschreven
edgeAgent_metadata edge_agent_version, , experimental_featureshost_information Type: meter
Algemene metagegevens over het apparaat. De waarde is altijd 0, informatie wordt gecodeerd in de tags. Opmerking experimental_features en host_information zijn json-objecten. host_information ziet er als {"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"}volgt uit. Opmerking ServerVersion : de Docker-versie en Version is de IoT Edge-beveiligingsdaemonversie.

Volgende stappen