Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : IoT Edge 1.5
Important
IoT Edge 1.5 LTS est la version prise en charge. IoT Edge 1.4 LTS est en fin de vie depuis le 12 novembre 2024. Si vous utilisez une version antérieure, consultez l’article Mettre à jour IoT Edge.
Les composants du runtime IoT Edge, le hub IoT Edge Hub et l’agent IoT Edge produisent des métriques intégrées au format d’exposition Prometheus. Accédez à ces métriques à distance pour analyser et comprendre l’intégrité d’un appareil IoT Edge.
Utilisez votre propre solution pour accéder à ces métriques, ou utilisez le module de collecteur de métriques, qui collecte les métriques intégrées et les envoie à Azure Monitor ou à Azure IoT Hub. Pour plus d’informations, consultez Collecter et transporter les métriques.
Les métriques sont exposées par défaut sur le port 9600 des modules edgeHub et edgeAgent (et http://edgeHub:9600/metrics
).http://edgeAgent:9600/metrics
Ils ne sont pas mappés à l’hôte par défaut.
Accédez aux métriques à partir de l’hôte createOptions
en exposant et en mappant le port des métriques dans le module. L’exemple suivant mappe le port de métriques par défaut au port 9601 sur l’hôte :
{
"ExposedPorts": {
"9600/tcp": {}
},
"HostConfig": {
"PortBindings": {
"9600/tcp": [
{
"HostPort": "9601"
}
]
}
}
}
Choisissez des numéros de port d’hôte différents et uniques lors du mappage des points de terminaison de métriques edgeHub et edgeAgent.
Remarque
La variable httpSettings__enabled
d’environnement ne doit pas être définie false
pour que les métriques intégrées soient disponibles pour la collecte.
Les variables d’environnement qui peuvent être utilisées pour désactiver les métriques sont listées dans la documentation du dépôt azure/iotedge.
Métriques disponibles
Les métriques incluent des balises qui identifient la nature de la métrique collectée. Toutes les métriques incluent les balises suivantes :
Balise | Descriptif |
---|---|
iothub | Le hub avec lequel l’appareil communique |
edge_device | ID de l’appareil actuel |
instance_number | GUID représentant le runtime actuel. Au redémarrage, toutes les métriques sont réinitialisées. Ce GUID permet de rapprocher plus facilement les redémarrages |
Le format d’exposition Prometheus comprend quatre types de métriques principaux : compteur, jauge, histogramme et résumé. Pour plus d’informations sur les différents types de métriques, consultez la documentation relative aux types de métriques de Prometheus.
Les quantiles pour les histogrammes intégrés et les métriques récapitulatives sont 0.1, 0.5, 0.9 et 0.99.
Le module edgeHub génère les métriques suivantes :
Nom | Taille | Descriptif |
---|---|---|
edgehub_gettwin_total |
source (source de l’opération)id (ID de module) |
Type : compteur Nombre total d’appels GetTwin |
edgehub_messages_received_total |
route_output (sortie du message envoyé)id |
Type : compteur Nombre total de messages reçus des clients |
edgehub_messages_sent_total |
from (source du message)to (destination du message)from_route_output to_route_input (entrée de destination du message)priority (priorité du message à la destination) |
Type : compteur Nombre total de messages envoyés aux clients ou en amont to_route_input est vide lorsque to est $upstream |
edgehub_reported_properties_total |
target (cible de mise à jour)id |
Type : compteur Nombre total d’appels de mises à jour de propriétés rapportées |
edgehub_message_size_bytes |
id |
Type : résumé Taille des messages des clients Les valeurs peuvent être signalées comme NaN si aucune nouvelle mesure n’est signalée pendant 10 minutes. Pour le type summary , les compteurs _count et _sum correspondants sont émis. |
edgehub_gettwin_duration_seconds |
source id |
Type : résumé Temps nécessaire pour obtenir des opérations de jumeau |
edgehub_message_send_duration_seconds |
from to from_route_output to_route_input |
Type : résumé Temps nécessaire pour envoyer un message |
edgehub_message_process_duration_seconds |
from to priority |
Type : résumé Temps nécessaire pour traiter un message de la file d’attente |
edgehub_reported_properties_update_duration_seconds |
target id |
Type : résumé Temps nécessaire pour mettre à jour les propriétés rapportées |
edgehub_direct_method_duration_seconds |
from (appelant)to (destinataire) |
Type : résumé Temps nécessaire pour résoudre un message direct |
edgehub_direct_methods_total |
from to |
Type : compteur Nombre total de messages directs envoyés |
edgehub_queue_length |
endpoint (source du message)priority (priorité de file d’attente) |
Type : jauge Longueur actuelle de la file d’attente d’edgeHub pour une priorité donnée |
edgehub_messages_dropped_total |
reason (no_route, ttl_expiry)from from_route_output |
Type : compteur Nombre total de messages supprimés du fait de « reason » |
edgehub_messages_unack_total |
reason (échec de stockage)from from_route_output |
Type : compteur Nombre total de messages sans accusé de réception en raison d’un échec de stockage |
edgehub_offline_count_total |
id |
Type : compteur Nombre total de fois où edgeHub a été mis hors connexion |
edgehub_offline_duration_seconds |
id |
Type : résumé Durée pendant laquelle edgeHub était hors connexion |
edgehub_operation_retry_total |
id operation (nom de l’opération) |
Type : compteur Nombre total de fois où les opérations edgeHub ont fait l’objet d’une nouvelle tentative |
edgehub_client_connect_failed_total |
id reason (non authentifié) |
Type : compteur Nombre total de fois où les clients n’ont pas réussi à se connecter à edgeHub |
Le module edgeAgent génère les métriques suivantes :
Nom | Taille | Descriptif |
---|---|---|
edgeAgent_total_time_running_correctly_seconds |
module_name |
Type : jauge Durée pendant laquelle le module était spécifié dans le déploiement et en état de fonctionnement |
edgeAgent_total_time_expected_running_seconds |
module_name |
Type : jauge Durée pendant laquelle le module était spécifié dans le déploiement |
edgeAgent_module_start_total |
module_name , module_version |
Type : compteur Nombre de fois où edgeAgent a demandé à Docker de démarrer le module |
edgeAgent_module_stop_total |
module_name , module_version |
Type : compteur Nombre de fois où edgeAgent a demandé à Docker d’arrêter le module |
edgeAgent_command_latency_seconds |
command |
Type : jauge Temps qu’il a fallu à Docker pour exécuter la commande donnée. Les commandes possibles sont : create, update, remove, start, stop et restart. |
edgeAgent_iothub_syncs_total |
Type : compteur Nombre de fois où edgeAgent a tenté de synchroniser son jumeau avec IoTHub, avec ou sans succès. Ce nombre comprend l’agent demandant un jumeau et le hub informant d’une mise à jour de jumeau |
|
edgeAgent_unsuccessful_iothub_syncs_total |
Type : compteur Nombre de fois où edgeAgent n’a pas réussi à synchroniser son jumeau avec IoTHub |
|
edgeAgent_deployment_time_seconds |
Type : compteur Temps qu’il a fallu pour terminer un nouveau déploiement après avoir reçu une modification |
|
edgeagent_direct_method_invocations_count |
method_name |
Type : compteur Nombre de fois où une méthode directe edgeAgent intégrée est appelée, par exemple Ping ou Restart. |
edgeAgent_host_uptime_seconds |
Type : jauge Durée depuis laquelle l’hôte est allumé |
|
edgeAgent_iotedged_uptime_seconds |
Type : jauge Durée depuis laquelle iotedged est en cours d’exécution |
|
edgeAgent_available_disk_space_bytes |
disk_name , disk_filesystem , disk_filetype |
Type : jauge Quantité d’espace restant sur le disque |
edgeAgent_total_disk_space_bytes |
disk_name , disk_filesystem , disk_filetype |
Type : jauge Taille du disque |
edgeAgent_used_memory_bytes |
module_name |
Type : jauge Quantité de RAM utilisée par tous les processus |
edgeAgent_total_memory_bytes |
module_name |
Type : jauge RAM disponible |
edgeAgent_used_cpu_percent |
module_name |
Type : histogramme Pourcentage d’UC utilisé par tous les processus |
edgeAgent_created_pids_total |
module_name |
Type : jauge Nombre de processus ou de threads créés par le conteneur |
edgeAgent_total_network_in_bytes |
module_name |
Type : jauge Nombre d’octets reçus du réseau |
edgeAgent_total_network_out_bytes |
module_name |
Type : jauge Nombre d’octets envoyés au réseau |
edgeAgent_total_disk_read_bytes |
module_name |
Type : jauge Nombre d’octets lus à partir du disque |
edgeAgent_total_disk_write_bytes |
module_name |
Type : jauge Nombre d’octets écrits sur le disque |
edgeAgent_metadata |
edge_agent_version , experimental_features , host_information |
Type : jauge Métadonnées générales relatives à l’appareil. La valeur est toujours 0 et les informations sont encodées dans les balises. Notez qu’il s’agit d’objets experimental_features host_information JSON.
host_information ressemble à {"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"} . Notez que ServerVersion désigne la version de Docker et Version désigne la version du démon de sécurité IoT Edge. |