Udostępnij za pośrednictwem


Uzyskiwanie dostępu do wbudowanych metryk w usłudze Azure IoT Edge

Dotyczy: Znacznik wyboru usługi IoT Edge 1.5 IoT Edge 1.5 Znacznik wyboru usługi IoT Edge 1.4 IoT Edge 1.4

Ważne

Obsługiwana wersja usługi IoT Edge 1.5 LTS. Usługa IoT Edge 1.4 LTS kończy się od 12 listopada 2024 r. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.

Składniki środowiska uruchomieniowego usługi IoT Edge, centrum usługi IoT Edge i agent usługi IoT Edge tworzą wbudowane metryki w formacie ekspozycji Prometheus. Możesz zdalnie uzyskać dostęp do tych metryk, aby monitorować i badać kondycję urządzenia usługi IoT Edge.

Aby uzyskać dostęp do tych metryk, możesz użyć własnego rozwiązania. Możesz też użyć modułu metrics-collector, który obsługuje zbieranie wbudowanych metryk i wysyłanie ich do usługi Azure Monitor lub Azure IoT Hub. Aby uzyskać więcej informacji, zobacz Zbieranie i transport metryk.

Metryki są domyślnie udostępniane automatycznie na porcie 9600 modułów edgeHub i edgeAgent (http://edgeHub:9600/metrics i http://edgeAgent:9600/metrics). Nie są one domyślnie mapowane na port hosta.

Uzyskaj dostęp do metryk z hosta, uwidaczniając i mapując port metryk z modułu createOptions. Poniższy przykład mapuje domyślny port metryk na port 9601 na hoście:

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

Wybierz różne i unikatowe numery portów hosta, jeśli mapujesz punkty końcowe metryk edgeHub i edgeAgent.

Uwaga

Zmienna środowiskowa httpSettings__enabled nie powinna być ustawiona na false dla wbudowanych metryk, które mają być dostępne dla kolekcji.

Zmienne środowiskowe, które mogą służyć do wyłączania metryk, są wyświetlane w opisano w opisano w repozytorium azure/iotedge.

Dostępne metryki

Metryki zawierają tagi ułatwiające zidentyfikowanie charakteru zbieranej metryki. Wszystkie metryki zawierają następujące tagi:

Tag opis
iothub Koncentrator, z którym urządzenie rozmawia
edge_device Identyfikator bieżącego urządzenia
instance_number Identyfikator GUID reprezentujący bieżące środowisko uruchomieniowe. Po ponownym uruchomieniu wszystkie metryki są resetowane. Ten identyfikator GUID ułatwia uzgadnianie ponownych uruchomień.

W formacie ekspozycji Prometheus istnieją cztery podstawowe typy metryk: licznik, miernik, histogram i podsumowanie. Aby uzyskać więcej informacji na temat różnych typów metryk, zobacz dokumentację typów metryk Prometheus.

Kwantyle podane dla wbudowanych histogramów i metryk podsumowania to 0,1, 0,5, 0,9 i 0,99.

Moduł edgeHub tworzy następujące metryki:

Nazwisko Wymiary opis
edgehub_gettwin_total source (źródło operacji)
id (identyfikator modułu)
Typ: licznik
Łączna liczba wywołań GetTwin
edgehub_messages_received_total route_output (dane wyjściowe wysłane wiadomości)
id
Typ: licznik
Łączna liczba komunikatów odebranych od klientów
edgehub_messages_sent_total from (źródło komunikatów)
to (miejsce docelowe wiadomości)
from_route_output
to_route_input (dane wejściowe miejsca docelowego komunikatu)
priority (priorytet komunikatu do miejsca docelowego)
Typ: licznik
Łączna liczba komunikatów wysyłanych do klientów lub nadrzędnych
to_route_input wartość jest pusta, gdy to jest $upstream
edgehub_reported_properties_total target(aktualizuj element docelowy)
id
Typ: licznik
Łączna liczba zgłoszonych wywołań aktualizacji właściwości
edgehub_message_size_bytes id
Typ: podsumowanie
Rozmiar komunikatu od klientów
Wartości mogą być zgłaszane tak, jakby NaN nie zgłoszono nowych pomiarów przez określony czas (obecnie 10 minut); dla summary typu są emitowane odpowiednie _count i _sum liczniki.
edgehub_gettwin_duration_seconds source
id
Typ: podsumowanie
Czas potrzebny na uzyskanie operacji bliźniaczej reprezentacji
edgehub_message_send_duration_seconds from
to
from_route_output
to_route_input
Typ: podsumowanie
Czas potrzebny na wysłanie wiadomości
edgehub_message_process_duration_seconds from
to
priority
Typ: podsumowanie
Czas potrzebny na przetworzenie komunikatu z kolejki
edgehub_reported_properties_update_duration_seconds target
id
Typ: podsumowanie
Czas potrzebny na zaktualizowanie zgłoszonych właściwości
edgehub_direct_method_duration_seconds from (obiekt wywołujący)
to (odbiornik)
Typ: podsumowanie
Czas potrzebny na rozwiązanie komunikatu bezpośredniego
edgehub_direct_methods_total from
to
Typ: licznik
Łączna liczba wysłanych komunikatów bezpośrednich
edgehub_queue_length endpoint (źródło komunikatów)
priority (priorytet kolejki)
Typ: miernik
Bieżąca długość kolejki edgeHub dla danego priorytetu
edgehub_messages_dropped_total reason (no_route, ttl_expiry)
from
from_route_output
Typ: licznik
Całkowita liczba usuniętych komunikatów z powodu przyczyny
edgehub_messages_unack_total reason (storage_failure)
from
from_route_output
Typ: licznik
Łączna liczba niezaznaczonych komunikatów z powodu awarii magazynu
edgehub_offline_count_total id Typ: licznik
Łączna liczba przypadków, gdy usługa EdgeHub przeszła w tryb offline
edgehub_offline_duration_seconds id Typ: podsumowanie
Centrum krawędzi czasu było w trybie offline
edgehub_operation_retry_total id
operation (nazwa operacji)
Typ: licznik
Łączna liczba ponownych prób próbnych operacji brzegowych w usłudze EdgeHub
edgehub_client_connect_failed_total id
reason (nieuwierzytelnione)
Typ: licznik
Łączna liczba nieudanych połączeń klientów z usługą edgeHub

Moduł edgeAgent tworzy następujące metryki:

Nazwisko Wymiary opis
edgeAgent_total_time_running_correctly_seconds module_name Typ: miernik
Czas, przez jaki moduł został określony we wdrożeniu i był w stanie uruchomienia
edgeAgent_total_time_expected_running_seconds module_name Typ: miernik
Czas, przez jaki moduł został określony we wdrożeniu
edgeAgent_module_start_total module_name, module_version Typ: licznik
Ile razy agent edgeAgent poprosił platformę Docker o uruchomienie modułu
edgeAgent_module_stop_total module_name, module_version Typ: licznik
Ile razy agent edgeAgent poprosił platformę Docker o zatrzymanie modułu
edgeAgent_command_latency_seconds command Typ: miernik
Jak długo trwało wykonywanie danego polecenia przez platformę Docker. Możliwe polecenia to: tworzenie, aktualizowanie, usuwanie, uruchamianie, zatrzymywanie i ponowne uruchamianie
edgeAgent_iothub_syncs_total Typ: licznik
Liczba prób zsynchronizowania bliźniaczej reprezentacji usługi EdgeAgent z usługą iotHub, zarówno pomyślną, jak i nieudaną. Ta liczba obejmuje zarówno agenta żądającego bliźniaczej reprezentacji, jak i centrum z powiadomieniem o aktualizacji bliźniaczej reprezentacji
edgeAgent_unsuccessful_iothub_syncs_total Typ: licznik
Liczba przypadków, gdy agent edgeAgent nie może zsynchronizować bliźniaczej reprezentacji z usługą iotHub.
edgeAgent_deployment_time_seconds Typ: licznik
Czas potrzebny na ukończenie nowego wdrożenia po otrzymaniu zmiany.
edgeagent_direct_method_invocations_count method_name Typ: licznik
Liczba wywołań wbudowanej metody bezpośredniej edgeAgent, takiej jak ping lub restart.
edgeAgent_host_uptime_seconds Typ: miernik
Jak długo host jest włączony
edgeAgent_iotedged_uptime_seconds Typ: miernik
Jak długo działa iotedged
edgeAgent_available_disk_space_bytes disk_name, , disk_filesystemdisk_filetype Typ: miernik
Ilość miejsca pozostawionego na dysku
edgeAgent_total_disk_space_bytes disk_name, , disk_filesystemdisk_filetype Typ: miernik
Rozmiar dysku
edgeAgent_used_memory_bytes module_name Typ: miernik
Ilość pamięci RAM używanej przez wszystkie procesy
edgeAgent_total_memory_bytes module_name Typ: miernik
Dostępna pamięć RAM
edgeAgent_used_cpu_percent module_name Typ: histogram
Procent użycia procesora przez wszystkie procesy
edgeAgent_created_pids_total module_name Typ: miernik
Liczba procesów lub wątków utworzonych przez kontener
edgeAgent_total_network_in_bytes module_name Typ: miernik
Liczba bajtów odebranych z sieci
edgeAgent_total_network_out_bytes module_name Typ: miernik
Liczba bajtów wysłanych do sieci
edgeAgent_total_disk_read_bytes module_name Typ: miernik
Liczba bajtów odczytanych z dysku
edgeAgent_total_disk_write_bytes module_name Typ: miernik
Liczba bajtów zapisanych na dysku
edgeAgent_metadata edge_agent_version, , experimental_featureshost_information Typ: miernik
Ogólne metadane dotyczące urządzenia. Wartość jest zawsze 0. Informacje są kodowane w tagach. Uwaga experimental_features i host_information są obiektami json. host_information wygląda następująco: {"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"}. Uwaga ServerVersion to wersja platformy Docker i Version jest wersją demona zabezpieczeń usługi IoT Edge.

Następne kroki