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 IoT Edge 1.4 pipa IoT Edge 1.4

Fontos

Az IoT Edge 1.5 LTS és az IoT Edge 1.4 LTS támogatott kiadások. 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