Teilen über


Zugreifen auf integrierte Metriken in Azure IoT Edge

Gilt für:Häkchen für IoT Edge 1.5 IoT Edge 1.5

Wichtig

IoT Edge 1.5 LTS ist das unterstützte Release. IoT Edge 1.4 LTS wurde am 12. November 2024 eingestellt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.

Die IoT Edge-Runtimekomponenten, der IoT Edge-Hub und der IoT Edge-Agent generieren integrierte Metriken im Prometheus-Offenlegungsformat. Fügen Sie diese Metriken remote hinzu, um die Integrität eines IoT Edge-Geräts zu überwachen und zu verstehen.

Verwenden Sie Ihre eigene Lösung, um auf diese Metriken zuzugreifen, oder verwenden Sie das Metriksammlermodul, das die integrierten Metriken sammelt und sie an Azure Monitor oder Azure IoT Hub sendet. Weitere Informationen finden Sie unter Sammeln und Transportieren von Metriken.

Metriken werden standardmäßig auf Port 9600 der EdgeHub - und edgeAgent-Module (http://edgeHub:9600/metrics und http://edgeAgent:9600/metrics) verfügbar gemacht. Sie sind standardmäßig nicht dem Host zugeordnet.

Sie können über den Host auf die Metriken zugreifen, indem Sie den Metrikport in den createOptions des Moduls verfügbar machen und zuordnen. Im folgenden Beispiel wird der Standardmetrikport dem Port 9601 auf dem Host zugeordnet:

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

Wählen Sie bei der Zuordnung der EdgeHub- und edgeAgent-Metriken-Endpunkte unterschiedliche und eindeutige Hostportnummern aus.

Hinweis

Die Umgebungsvariable httpSettings__enabled darf nicht auf false gesetzt werden, damit integrierte Metriken zur Sammlung verfügbar sind.

Umgebungsvariablen, die zum Deaktivieren von Metriken verwendet werden können, finden Sie in der Dokumentation zum Repository azure/iotedge.

Verfügbare Metriken

Zu den Metriken gehören Tags, die die Art der gesammelten Metrik identifizieren. Alle Metriken enthalten die folgenden Tags:

Etikett Beschreibung
iothub Der Hub, mit dem das Gerät kommuniziert
edge_device Die ID des aktuellen Geräts
Instanznummer Eine GUID, die die aktuelle Runtime darstellt. Bei einem Neustart werden alle Metriken zurückgesetzt. Diese GUID erleichtert das Abstimmen von Neustarts.

Das Prometheus-Expositionsformat umfasst vier Kernmetrikentypen: Zähler, Messgeräte, Histogramm und Zusammenfassung. Weitere Informationen zu den verschiedenen Metriktypen finden Sie in der Dokumentation zu den Prometheus-Metriktypen.

Die Quantiles für das integrierte Histogramm und die Zusammenfassungsmetriken sind 0,1, 0,5, 0,9 und 0,99.

Das EdgeHub-Modul generiert die folgenden Metriken:

Name Dimensionen Beschreibung
edgehub_gettwin_total source (Vorgangsquelle)
id (Modul-ID)
Typ: Zähler
Gesamtzahl von GetTwin-Aufrufen
edgehub_messages_received_total route_output (Ausgabe, von der die Nachricht gesendet wurde)
id
Typ: Zähler
Gesamtzahl der von Clients empfangenen Nachrichten
edgehub_messages_sent_total from (Nachrichtenquelle)
to (Nachrichtenziel)
from_route_output
to_route_input (Nachrichtenzieleingabe)
priority (Nachrichtenpriorität zum Ziel)
Typ: Zähler
Gesamtzahl der an Clients oder Upstream gesendeten Nachrichten
to_route_input ist leer, wenn to $Upstream ist
edgehub_reported_properties_total target (Updateziel)
id
Typ: Zähler
Gemeldete Gesamtzahl der Aufrufe für Eigenschaftsupdates
edgehub_message_size_bytes id
Typ: Zusammenfassung
Nachrichtengröße von Clients
Werte könnten als NaN gemeldet werden, wenn für 10 Minuten keine neuen Messungen gemeldet werden. Für den summary Typ werden entsprechende _count und _sum Zähler ausgegeben.
edgehub_gettwin_duration_seconds source
id
Typ: Zusammenfassung
Beanspruchte Zeit für das Abrufen von Zwillingsvorgängen
edgehub_message_send_duration_seconds from
to
from_route_output
to_route_input
Typ: Zusammenfassung
Beanspruchte Zeit zum Senden einer Nachricht
edgehub_message_process_duration_seconds from
to
priority
Typ: Zusammenfassung
Beanspruchte Zeit zum Verarbeiten einer Nachricht aus der Warteschlange
edgehub_reported_properties_update_duration_seconds target
id
Typ: Zusammenfassung
Beanspruchte Zeit zum Aktualisieren gemeldeter Eigenschaften
edgehub_direct_method_duration_seconds from (Aufrufer)
to (Empfänger)
Typ: Zusammenfassung
Beanspruchte Zeit zum Auflösen einer direkten Nachricht
edgehub_direct_methods_total from
to
Typ: Zähler
Gesamtzahl der gesendeten direkten Nachrichten
edgehub_queue_length endpoint (Nachrichtenquelle)
priority (Warteschlangenpriorität)
Typ: Messgerät
Aktuelle Länge der edgeHub-Warteschlange für eine bestimmte Priorität
edgehub_messages_dropped_total reason (no_route, ttl_expiry)
from
from_route_output
Typ: Zähler
Gesamtzahl der wegen des Grunds entfernten Nachrichten
edgehub_messages_unack_total reason (Speicherfehler)
from
from_route_output
Typ: Zähler
Gesamtzahl der wegen eines Speicherfehlers nicht bestätigten Nachrichten
edgehub_offline_count_total id Typ: Zähler
Gesamtzahl der Übergänge von edgeHub in den Offlinemodus
edgehub_offline_duration_seconds id Typ: Zusammenfassung
Die Zeit, die edgeHub offline war
edgehub_operation_retry_total id
operation (Vorgangsname)
Typ: Zähler
Die Gesamtzahl der Wiederholungen von edgeHub-Vorgängen
edgehub_client_connect_failed_total id
reason (nicht authentifiziert)
Typ: Zähler
Gesamtzahl der fehlgeschlagenen Verbindungsversuche von Clients mit edgeHub

Das EdgeAgent-Modul generiert die folgenden Metriken:

Name Dimensionen Beschreibung
edgeAgent_total_time_running_correctly_seconds module_name Typ: Messgerät
Die Menge der Zeit, für die das Modul in der Bereitstellung angegeben wurde und sich im Ausführungszustand befand
edgeAgent_total_time_expected_running_seconds module_name Typ: Messgerät
Der Zeitraum, für den das Modul in der Bereitstellung angegeben wurde
edgeAgent_module_start_total module_name, module_version Typ: Zähler
Die Anzahl der Aufforderungen von edgeAgent an Docker, das Modul zu starten
edgeAgent_module_stop_total module_name, module_version Typ: Zähler
Die Anzahl der Aufforderungen von edgeAgent an Docker, das Modul zu beenden
edgeAgent_command_latency_seconds command Typ: Messgerät
Die von Docker zum Ausführen des angegebenen Befehls beanspruchte Zeit. Die möglichen Befehle sind: create, update, remove, start, stop und restart.
edgeAgent_iothub_syncs_total Typ: Zähler
Die Anzahl der Versuche von edgeAgent, seinen Zwilling mit iotHub zu synchronisieren, sowohl erfolgreiche als auch Fehlversuche. Diese Zahl schließt sowohl die Anforderung eines Zwillings durch den Agent als auch die Benachrichtigung zu einem Zwillingsupdate durch den Hub ein.
edgeAgent_unsuccessful_iothub_syncs_total Typ: Zähler
Die Anzahl der Fehlversuche von edgeAgent, seinen Zwilling mit iotHub zu synchronisieren.
edgeAgent_deployment_time_seconds Typ: Zähler
Sie beanspruchte Zeit für das Abschließen einer neuen Bereitstellung nach dem Empfang einer Änderung.
edgeagent_direct_method_invocations_count method_name Typ: Zähler
Die Anzahl der Aufrufe einer integrierten direkten Methode von edgeAgent, wie etwa „Ping“ oder „Restart“.
edgeAgent_host_uptime_seconds Typ: Messgerät
Kontinuierliche Betriebszeit des Hosts
edgeAgent_iotedged_uptime_seconds Typ: Messgerät
Die kontinuierliche Ausführungszeit von iotedged
edgeAgent_available_disk_space_bytes disk_name, disk_filesystemdisk_filetype Typ: Messgerät
Die Menge des auf dem Datenträger verbleibenden Speicherplatzes
edgeAgent_total_disk_space_bytes disk_name, disk_filesystemdisk_filetype Typ: Messgerät
Größe des Datenträgers
edgeAgent_used_memory_bytes module_name Typ: Messgerät
Die Menge des von allen Prozessen verwendeten Arbeitsspeichers
edgeAgent_total_memory_bytes module_name Typ: Messgerät
Verfügbares RAM
edgeAgent_used_cpu_percent module_name Typ: Histogramm
Der Prozentsatz der CPU-Auslastung durch alle Prozesse
edgeAgent_created_pids_total module_name Typ: Messgerät
Die Anzahl der Prozesse oder Threads, die der Container erstellt hat
edgeAgent_total_network_in_bytes module_name Typ: Messgerät
Die Anzahl der vom Netzwerk empfangenen Bytes
edgeAgent_total_network_out_bytes module_name Typ: Messgerät
Die Anzahl der an das Netzwerk gesendeten Bytes
edgeAgent_total_disk_read_bytes module_name Typ: Messgerät
Die Anzahl der vom Datenträger gelesenen Bytes
edgeAgent_total_disk_write_bytes module_name Typ: Messgerät
Die Anzahl der auf den Datenträger geschriebenen Bytes
edgeAgent_metadata edge_agent_version, experimental_featureshost_information Typ: Messgerät
Allgemeine Metadaten zum Gerät. Der Wert ist immer 0, und Die Informationen werden in den Tags codiert. Beachten Sie, dass experimental_features und host_information JSON-Objekte sind. host_information weist diese Form auf: {"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"}. Beachten Sie, dass ServerVersion die Docker-Version und Version die Version des IoT Edge-Sicherheitsdaemons ist.

Nächste Schritte