Uzyskiwanie dostępu do wbudowanych metryk w usłudze Azure IoT Edge
Dotyczy: IoT Edge 1.5 IoT Edge 1.4
Ważne
Obsługiwane są wersje usługi IoT Edge 1.5 LTS i IoT Edge 1.4 LTS. Usługa IoT Edge 1.4 LTS kończy się 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_filesystem disk_filetype |
Typ: miernik Ilość miejsca pozostawionego na dysku |
edgeAgent_total_disk_space_bytes |
disk_name , , disk_filesystem disk_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_features host_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. |