Megosztás a következőn keresztül:


Beépített metrikák elérése az Azure IoT Edge-ben

A következőkre vonatkozik:IoT Edge 1.5 pipa IoT Edge 1.5

Fontos

Az IoT Edge 1.5 LTS a támogatott kiadás. Az IoT Edge 1.4 LTS 2024. november 12-én megszűnik. Ha egy korábbi kiadáson dolgozik, olvassa el az IoT Edge frissítése című témakört.

Az IoT Edge-futtatókörnyezet összetevői, az IoT Edge hub és az IoT Edge-ügynök beépített metrikákat állítanak elő Prometheus-kiállítási formátumban. Ezeket a metrikákat távolról is elérheti egy IoT Edge-eszköz állapotának monitorozásához és megismeréséhez.

A metrikák eléréséhez használhatja a saját megoldását. Használhatja a metrikagyűjtő modult is, amely kezeli a beépített metrikák gyűjtését és az Azure Monitorba vagy az Azure IoT Hubba való küldését. További információt a Metrikák összegyűjtése és átvitele című témakörben talál.

A metrikák alapértelmezés szerint automatikusan elérhetővé válnak az edgeHub és az edgeAgent modulokhttp://edgeHub:9600/metrics (és http://edgeAgent:9600/metrics) 9600-os portján. Alapértelmezés szerint nem a gazdagéphez vannak hozzárendelve.

Metrikákat érhet el a gazdagépről a modul metrikaportjának felfedésével és leképezésével createOptions. Az alábbi példa az alapértelmezett metrikaportot a gazdagép 9601-s portjára képezi le:

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

Válasszon különböző és egyedi gazdagépportszámokat, ha az edgeHub és az edgeAgent metrikák végpontjait is megfelelteti.

Feljegyzés

A környezeti változót httpSettings__enabled nem szabad úgy beállítani, hogy false a beépített metrikák elérhetők legyenek a gyűjteményhez.

A metrikák letiltására használható környezeti változók az azure/iotedge adattár dokumentumában találhatók.

Rendelkezésre álló metrikák

A metrikák címkéket tartalmaznak a gyűjtött metrikák jellegének azonosításához. Minden metrika a következő címkéket tartalmazza:

Címke Leírás
iothub A központ, amiről az eszköz beszél
edge_device Az aktuális eszköz azonosítója
instance_number Az aktuális futtatókörnyezetet jelképező GUID. Újraindítás után az összes metrika alaphelyzetbe áll. Ez a GUID megkönnyíti az újraindítások egyeztetését.

Prometheus-kiállítási formátumban négy alapvető metrikatípus létezik: számláló, mérőműszer, hisztogram és összegzés. A különböző metrikatípusokról további információt a Prometheus metrikatípusok dokumentációjában talál.

A beépített hisztogramhoz és az összefoglaló metrikákhoz megadott kvantilisek a következők: 0,1, 0,5, 0,9 és 0,99.

Az edgeHub-modul a következő metrikákat állítja elő:

Név Dimenziók Leírás
edgehub_gettwin_total source (műveleti forrás)
id (modulazonosító)
Típus: számláló
GetTwin-hívások teljes száma
edgehub_messages_received_total route_output (az üzenetet küldő kimenet)
id
Típus: számláló
Ügyfelektől kapott üzenetek teljes száma
edgehub_messages_sent_total from (üzenet forrása)
to (üzenet célja)
from_route_output
to_route_input (üzenet célbemenete)
priority (üzenet prioritása a cél felé)
Típus: számláló
Ügyfeleknek vagy felsőbb rétegnek küldött üzenetek teljes száma
to_route_input üres, ha to $upstream
edgehub_reported_properties_total target(frissítési cél)
id
Típus: számláló
Összes jelentett tulajdonságfrissítési hívás
edgehub_message_size_bytes id
Típus: összegzés
Üzenetek mérete az ügyfelektől
Az értékeket úgy lehet jelenteni, mintha NaN egy bizonyos ideig (jelenleg 10 perc) nem jelentenek új méréseket; típus, summary megfelelő _count és _sum számlálók bocsátanak ki.
edgehub_gettwin_duration_seconds source
id
Típus: összegzés
Ikerműveletek lekéréséhez szükséges idő
edgehub_message_send_duration_seconds from
to
from_route_output
to_route_input
Típus: összegzés
Az üzenet elküldéséhez szükséges idő
edgehub_message_process_duration_seconds from
to
priority
Típus: összegzés
Az üzenetsorból érkező üzenet feldolgozásához szükséges idő
edgehub_reported_properties_update_duration_seconds target
id
Típus: összegzés
A jelentett tulajdonságok frissítéséhez szükséges idő
edgehub_direct_method_duration_seconds from (hívó)
to (vevő)
Típus: összegzés
A közvetlen üzenet megoldásához szükséges idő
edgehub_direct_methods_total from
to
Típus: számláló
Elküldött közvetlen üzenetek teljes száma
edgehub_queue_length endpoint (üzenet forrása)
priority (üzenetsor prioritása)
Típus: mérőműszer
Az EdgeHub adott prioritáshoz tartozó üzenetsorának aktuális hossza
edgehub_messages_dropped_total reason (no_route, ttl_expiry)
from
from_route_output
Típus: számláló
Ok miatt eltávolított üzenetek teljes száma
edgehub_messages_unack_total reason (storage_failure)
from
from_route_output
Típus: számláló
A tárhiba miatt ismeretlen üzenetek teljes száma
edgehub_offline_count_total id Típus: számláló
Az EdgeHub offline állapotba helyezésének teljes száma
edgehub_offline_duration_seconds id Típus: összegzés
Az idő peremhálózati központ offline állapotban volt
edgehub_operation_retry_total id
operation (művelet neve)
Típus: számláló
Az EdgeHub-műveletek újrapróbálásának teljes száma
edgehub_client_connect_failed_total id
reason (nincs hitelesítve)
Típus: számláló
Összesen hányszor nem sikerült csatlakozni az ügyfeleknek az EdgeHubhoz

Az edgeAgent modul a következő metrikákat állítja elő:

Név Dimenziók Leírás
edgeAgent_total_time_running_correctly_seconds module_name Típus: mérőműszer
A modulnak az üzembe helyezésben megadott és futó állapotban lévő időtartama
edgeAgent_total_time_expected_running_seconds module_name Típus: mérőműszer
A modulnak az üzembe helyezésben megadott ideje
edgeAgent_module_start_total module_name, module_version Típus: számláló
Hányszor kérte az EdgeAgent a Dockert a modul elindításához
edgeAgent_module_stop_total module_name, module_version Típus: számláló
Hányszor kérte az EdgeAgent a Dockert a modul leállítására
edgeAgent_command_latency_seconds command Típus: mérőműszer
Mennyi ideig tartott, amíg a Docker végrehajtja az adott parancsot. A lehetséges parancsok a következők: létrehozás, frissítés, eltávolítás, indítás, leállítás és újraindítás
edgeAgent_iothub_syncs_total Típus: számláló
Az edgeAgent hányszor kísérelte meg szinkronizálni ikerpéldányát az iotHubbal, mind sikeres, mind sikertelen. Ez a szám magában foglalja mind az ikerpéldányt kérő ügynököt, mind az ikerfrissítésről értesítő központot
edgeAgent_unsuccessful_iothub_syncs_total Típus: számláló
Hányszor nem sikerült szinkronizálni az edgeAgent ikerpéldányát az iotHubbal.
edgeAgent_deployment_time_seconds Típus: számláló
Az új üzembe helyezés befejezéséhez szükséges idő a módosítás fogadása után.
edgeagent_direct_method_invocations_count method_name Típus: számláló
A beépített edgeAgent közvetlen metódus meghívásának száma, például pingelés vagy újraindítás.
edgeAgent_host_uptime_seconds Típus: mérőműszer
Mennyi ideig volt bekapcsolva a gazdagép?
edgeAgent_iotedged_uptime_seconds Típus: mérőműszer
Mennyi ideig fut az iotedged?
edgeAgent_available_disk_space_bytes disk_name, , disk_filesystemdisk_filetype Típus: mérőműszer
A lemezen maradt hely mennyisége
edgeAgent_total_disk_space_bytes disk_name, , disk_filesystemdisk_filetype Típus: mérőműszer
A lemez mérete
edgeAgent_used_memory_bytes module_name Típus: mérőműszer
Az összes folyamat által használt RAM mennyisége
edgeAgent_total_memory_bytes module_name Típus: mérőműszer
ELÉRHETŐ RAM
edgeAgent_used_cpu_percent module_name Típus: hisztogram
Az összes folyamat által használt processzor százalékos aránya
edgeAgent_created_pids_total module_name Típus: mérőműszer
A tároló által létrehozott folyamatok vagy szálak száma
edgeAgent_total_network_in_bytes module_name Típus: mérőműszer
A hálózatról fogadott bájtok száma
edgeAgent_total_network_out_bytes module_name Típus: mérőműszer
A hálózatra küldött bájtok száma
edgeAgent_total_disk_read_bytes module_name Típus: mérőműszer
A lemezről beolvasott bájtok száma
edgeAgent_total_disk_write_bytes module_name Típus: mérőműszer
A lemezre írt bájtok száma
edgeAgent_metadata edge_agent_version, , experimental_featureshost_information Típus: mérőműszer
Általános metaadatok az eszközről. Az érték mindig 0, az információ kódolva van a címkékben. Jegyezze fel experimental_features a host_information json objektumokat. host_information úgy néz ki, mint {"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"}. Megjegyzés ServerVersion : a Docker verziója és Version az IoT Edge biztonsági démon verziója.

Következő lépések