Surveiller des VM TPU
Ce guide explique comment utiliser Cloud Monitoring pour surveiller vos VM TPU. Cloud Monitoring collecte automatiquement les métriques et les journaux de votre TPU et de sa VM hôte. Ces données peuvent ensuite être utilisées pour surveiller l'état de votre TPU et de Compute Engine.
Les métriques vous permettent de suivre une quantité numérique au fil du temps (par exemple, l'utilisation du processeur, l'utilisation du réseau ou la durée d'inactivité des TensorCores), tandis que les journaux capturent les événements à un moment précis. Les entrées de journal sont écrites par votre propre code, par les servicesGoogle Cloud , par les applications tierces et par l'infrastructureGoogle Cloud . Vous pouvez aussi générer des métriques à partir des données présentes dans une entrée de journal en créant une métrique basée sur les journaux, et définir des règles d'alerte en fonction des valeurs de métriques ou des entrées de journal.
Pour surveiller les TPU, vous pouvez aussi utiliser le planificateur de capacité (preview). Le planificateur de capacité vous permet de visualiser les données d'utilisation des TPU et données de prévision pour votre projet, votre dossier ou votre entreprise. Ces données, qui sont mises à jour toutes les 24 heures, vous aident à analyser les tendances d'utilisation et à planifier vos futurs besoins en capacité. Pour en savoir plus, consultez Présentation du planificateur de capacité.
Accéder aux métriques de TPU
Compute Engine génère deux types de métriques TPU : les métriques d'exécution TPU et les métriques d'infrastructure de VM TPU. Vous pouvez obtenir les métriques de deux manières :
Bibliothèque de surveillance des TPU : obtenez des métriques d'exécution des TPU à partir du SDK LibTPU à l'aide de la bibliothèque de surveillance des TPU. Cela permet à vos applications d'obtenir des données de télémétrie en temps réel depuis l'environnement invité. Pour en savoir plus, consultez Bibliothèque de surveillance des TPU.
Collecteur de télémétrie IA : obtenez des métriques d'exécution et des métriques d'infrastructure de VM via le collecteur de télémétrie IA. L'AI Telemetry Collector s'exécute dans la VM TPU et vous permet d'accéder aux métriques via Cloud Monitoring ou votre propre pipeline de surveillance basé sur Prometheus. Pour en savoir plus, consultez AI Telemetry Collector.
Métriques de TPU
Les métriquesGoogle Cloud pour Cloud TPU sont générées automatiquement par les VM Compute Engine et l'environnement d'exécution de Cloud TPU. Les métriques des tableaux suivants sont générées par les VM Compute Engine. Pour obtenir la liste complète des métriques générées par Compute Engine, consultez Métriques Compute Engine.
Les chaînes "Type de métrique" de ce tableau doivent être précédées du préfixe compute.googleapis.com/. Ce préfixe a été omis dans les entrées du tableau. Lorsque vous interrogez une étiquette, utilisez le préfixe metric.labels (par exemple, metric.labels.LABEL="VALUE").
Disponibilité générale
| Type de métrique Étape de lancement (Niveaux de la hiérarchie des ressources) Nom à afficher |
|
|---|---|
| Genre, type, unité Ressources surveillées |
Description Libellés |
instance/tpu/active_chips
GA
(projet)
Nombre de puces TPU actives |
|
GAUGE, INT64, 1
gce_instance |
Nombre actuel de puces utilisées activement (c'est-à-dire qui ne sont pas inactives).
accelerator_type : type et génération de l'accélérateur.
reservation_id : ID de la réservation de machine physique.
provisioning_model : modèle de provisionnement associé.
protection_tier : modèle de protection associé.
block_id : ID du bloc dans le cluster hébergeant la VM.
subblock_id : ID du sous-bloc hébergeant la VM.
is_exr : (BOOL) indique si le chip fait partie d'une réservation étendue.
|
instance/tpu/scheduled_chips
GA
(projet)
Nombre de puces TPU planifiées |
|
GAUGE, INT64, 1
gce_instance |
Nombre actuel de puces allouées à une VM dont l'état est HEALTHY et qui n'est PAS DÉSACTIVÉE pour maintenance.
accelerator_type : type et génération de l'accélérateur.
reservation_id : ID de la réservation de machine physique.
provisioning_model : modèle de provisionnement associé.
protection_tier : modèle de protection associé.
block_id : ID du bloc dans le cluster hébergeant la VM.
subblock_id : ID du sous-bloc hébergeant la VM.
is_exr : (BOOL) indique si le chip fait partie d'une réservation étendue.
|
tpu/slice/capacity/available_chips
GA
(projet)
Nombre de puces TPU disponibles |
|
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice |
Nombre actuel de puces TPU de la réservation étendue qui sont activement disponibles et prêtes à être utilisées. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai maximal de 360 secondes.
accelerator_type : type et génération de l'accélérateur.
reservation_id : ID de la réservation de machine physique.
block_id : ID de bloc associé à la tranche.
subblock_id : ID du sous-bloc associé à la tranche.
provisioning_model : modèle de provisionnement associé.
protection_tier : modèle de protection associé.
|
tpu/slice/capacity/committed_chips
GA
(projet)
Nombre de puces TPU achetées |
|
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice |
Nombre actuel de puces TPU achetées pour la réservation étendue. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai maximal de 360 secondes.
accelerator_type : type et génération de l'accélérateur.
reservation_id : ID de la réservation de machine physique.
block_id : ID de bloc associé à la tranche.
subblock_id : ID du sous-bloc associé à la tranche.
provisioning_model : modèle de provisionnement associé.
protection_tier : modèle de protection associé.
|
Bêta
| Type de métrique Étape de lancement (Niveaux de la hiérarchie des ressources) Nom à afficher |
|
|---|---|
| Genre, type, unité Ressources surveillées |
Description Libellés |
instance/tpu/accelerator/duty_cycle
BÊTA
(projet)
Cycle d'utilisation de l'accélérateur |
|
GAUGE, DOUBLE, %
gce_instance |
Pourcentage de temps au cours de la période d'échantillonnage pendant lequel l'accélérateur effectuait activement un traitement. Les valeurs sont comprises entre 0 et 100.
accelerator_id : ID de l'appareil de l'accélérateur.
|
instance/tpu/accelerator/memory_bandwidth_utilization
BÊTA
(projet)
Utilisation de la bande passante de mémoire de l'accélérateur |
|
GAUGE, DOUBLE, %
gce_instance |
Pourcentage actuel de bande passante mémoire utilisée par l'accélérateur. Calculé en divisant la bande passante mémoire utilisée sur une période d'échantillonnage par la bande passante maximale acceptée sur la même période d'échantillonnage.
accelerator_id : ID de l'appareil de l'accélérateur.
|
instance/tpu/accelerator/memory_total
BÊTA
(projet)
Mémoire totale de l'accélérateur |
|
GAUGE, INT64, By
gce_instance |
Mémoire totale de l'accélérateur actuellement allouée, en octets.
accelerator_id : ID de l'appareil de l'accélérateur.
|
instance/tpu/accelerator/memory_used
BÊTA
(projet)
Mémoire de l'accélérateur utilisée |
|
GAUGE, INT64, By
gce_instance |
Mémoire totale de l'accélérateur actuellement utilisée, en octets.
accelerator_id : ID de l'appareil de l'accélérateur.
|
instance/tpu/accelerator/tensorcore_utilization
BÊTA
(projet)
Utilisation des cœurs Tensor de l'accélérateur |
|
GAUGE, DOUBLE, %
gce_instance |
Pourcentage actuel Tensorcore utilisé. Ce nombre est calculé en divisant les opérations Tensorcore effectuées sur une période d'échantillonnage par le nombre d'opérations Tensorcore réalisable sur la même période d'échantillonnage.
accelerator_id : ID de l'accélérateur.
|
instance/tpu/chip_state
BÊTA
(projet)
Nombre d'états de puce TPU |
|
GAUGE, INT64, 1
gce_instance |
Nombre de puces TPU dans différents états, tels que "Opérationnel", "Non opérationnel" et "Inconnu".
state : état du chip.
accelerator_type : type et génération de l'accélérateur.
block_id : ID du bloc dans le cluster hébergeant la VM.
subblock_id : ID du sous-bloc hébergeant la VM.
reservation_id : ID de la réservation de machine physique.
is_exr : (BOOL) indique si le chip fait partie d'une réservation prolongée.
|
instance/tpu/infra_health
BÊTA
(projet)
État de l'instance TPU |
|
GAUGE, INT64, 1
gce_instance |
Indique l'état de fonctionnement général d'une instance TPU. Les libellés de métriques permettent d'identifier l'état de santé spécifique et les raisons des problèmes sur les instances de TPU dégradées ou non opérationnelles, en se concentrant principalement sur l'état du matériel et du système des TPU. La prise en compte des changements d'état de fonctionnement dans cette métrique peut prendre plusieurs minutes. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 420 secondes.
health_status : état général de l'instance TPU. Valeurs possibles : HEALTHY (fonctionne comme prévu), UNHEALTHY (problème critique détecté), DEGRADED (problème ayant un impact sur les performances), UNKNOWN (état impossible à déterminer).
unhealthy_category : explication de l'état non opérationnel de la VM. Cette étiquette n'est renseignée que lorsque la valeur de la métrique est "Non opérationnel".
machine_type : type de machine de l'instance (par exemple, ct6e-standard-4t-tpu).
machine_id : ID de la machine physique hébergeant la VM.
block_id : ID du bloc dans le cluster hébergeant la VM.
cluster_id : ID du cluster hébergeant la VM.
reservation_id : ID de la réservation de machine physique.
subblock_id : ID du sous-bloc hébergeant la VM.
|
instance/tpu/runtime/uptime
BÊTA
(projet)
Temps d'activité de l'environnement d'exécution |
|
GAUGE, INT64, s
gce_instance |
Temps d'activité de l'environnement d'exécution de ML depuis l'initialisation de la bibliothèque d'exécution (libtpu.so) par le job de ML. Pendant cette période, la bibliothèque d'exécution bloque les appareils TPU pour qu'ils soient utilisés par le job de ML.
ml_framework_name : nom du framework de ML.
ml_framework_version : version du framework de ML.
|
instance/tpu/utilized_chips
BÊTA
(projet)
Puces TPU utilisées |
|
GAUGE, DOUBLE, 1
gce_instance |
Capacité globale actuellement utilisée, exprimée en nombre effectif de puces actives. Elle équivaut à la somme de l'utilisation fractionnelle (0,0 à 1,0) de toutes les puces actives.
accelerator_type : type et génération de l'accélérateur.
reservation_id : ID de la réservation de machine physique.
provisioning_model : modèle de provisionnement associé.
protection_tier : modèle de protection associé.
block_id : ID du bloc dans le cluster hébergeant la VM.
subblock_id : ID du sous-bloc hébergeant la VM.
is_exr : (BOOL) indique si le chip fait partie d'une réservation étendue.
|
tpu/multislice/accelerator/device_to_host_transfer_latencies
BÊTA
(projet)
Latences de transfert de l'appareil vers l'hôte |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Répartition cumulative de la latence de transfert entre l'appareil et l'hôte, pour chaque fragment de données. La latence commence lorsque la demande de transfert de données vers l'hôte est émise et se termine lorsqu'un accusé de réception est reçu pour indiquer que le transfert de données est terminé.
buffer_size : taille de la mémoire tampon.
|
tpu/multislice/accelerator/host_to_device_transfer_latencies
BÊTA
(projet)
Latences de transfert de l'hôte vers l'appareil |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Répartition cumulative de la latence de transfert hôte à appareil pour chaque fragment de données du trafic multislice. La latence commence lorsque la demande de transfert de données vers l'appareil est émise et se termine lorsqu'un accusé de réception est reçu pour indiquer que le transfert de données est terminé.
buffer_size : taille de la mémoire tampon.
|
tpu/multislice/network/collective_end_to_end_latencies
BÊTA
(projet)
Latences de bout en bout collectives |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribution cumulée de la latence collective de bout en bout pour le trafic multitranche. La latence commence lorsque la requête pour le collectif est émise et se termine lorsqu'un accusé de réception est reçu pour indiquer que le transfert de données est terminé.
input_size : taille d'entrée de l'opération collective.
collective_type : type de l'opération collective.
|
tpu/multislice/network/dcn_transfer_latencies
BÊTA
(projet)
Latences de transfert DCN |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribution cumulée des latences de transfert réseau pour le trafic multislice. La latence commence lorsque la demande de transfert de données sur le DCN est émise et se termine lorsqu'un accusé de réception est reçu pour indiquer que le transfert de données est terminé.
buffer_size : taille de la mémoire tampon.
type : type.
|
tpu/multislice/network/grpc_client_call_latencies
BÊTA
(projet)
Latences des appels du client gRPC |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribution cumulative des latences de transfert réseau pour la bibliothèque gRPC afin d'effectuer un RPC du point de vue de l'appelant.
buffer_size : taille de la mémoire tampon.
|
tpu/multislice/network/grpc_server_call_latencies
BÊTA
(projet)
Latences des appels du serveur gRPC |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribution cumulative des latences de transfert réseau pour que le serveur gRPC effectue un RPC du point de vue du transport.
buffer_size : taille de la mémoire tampon.
|
tpu/multislice/network/grpc_tcp_delivery_rates
BÊTA
(projet)
Taux de distribution TCP gRPC |
|
CUMULATIVE, DISTRIBUTION, Mb/s
gce_instance |
Distribution cumulée des taux de transfert de données des connexions TCP. Chaque échantillon correspond au dernier taux de transfert de données moyen pour une connexion TCP donnée au cours du dernier intervalle d'ACK TCP. Les échantillons de débits de transfert de données sont extraits du noyau TCP Linux toutes les 20 secondes. On peut donc s'attendre à ce que chaque connexion TCP crée environ trois échantillons par intervalle de 60 secondes. |
tpu/multislice/network/grpc_tcp_min_round_trip_times
BÊTA
(projet)
Délais aller-retour TCP gRPC minimaux |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribution cumulative des latences minimales de transfert réseau par connexion TCP. |
tpu/multislice/network/grpc_tcp_packets_retransmitted_count
BÊTA
(projet)
Nombre de paquets TCP gRPC retransmis |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets retransmis. |
tpu/multislice/network/grpc_tcp_packets_sent_count
BÊTA
(projet)
Nombre de paquets TCP gRPC envoyés |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets envoyés par TCP. |
instance/tpu/accelerator/core_temperature
BÊTA
(projet)
Température centrale |
|
GAUGE, DOUBLE, Cel
gce_instance |
Température du cœur du TPU.
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/core_throttling_indicator
BÊTA
(projet)
Indicateur de limitation du cœur |
|
GAUGE, DOUBLE, 1
gce_instance |
Nombre de cycles d'horloge ignorés par seconde par rapport au nombre total de cycles d'horloge par cœur de TPU.
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/hbm_power_draw
BÊTA
(projet)
Consommation électrique de la mémoire HBM |
|
GAUGE, DOUBLE, W
gce_instance |
Somme de la puissance sur le module HBM en watts (W).
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/hbm_temperature
BÊTA
(projet)
Température HBM |
|
GAUGE, DOUBLE, Cel
gce_instance |
Température de la mémoire à haut débit (HBM) du TPU.
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
hbm_id : identifiant du module de mémoire à haut débit (HBM). Il ne comporte généralement que la valeur supérieure, par exemple : hbm_0.
|
instance/tpu/accelerator/hbm_uncorrectable_count
BÊTA
(projet)
Nombre d'erreurs HBM non corrigibles |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre d'erreurs non corrigibles au niveau de la mémoire HBM (fatales).
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/mxu_temperature
BÊTA
(projet)
Température MXU |
|
GAUGE, DOUBLE, Cel
gce_instance |
Température de l'unité de multiplication matricielle (MXU) du TPU.
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
die_id : index d'emplacement de l'accélérateur. Il ne comporte généralement que la valeur supérieure, par exemple : die_0.
|
instance/tpu/accelerator/network/ici_link_flaps
BÊTA
(projet)
Oscillations de liaison ICI |
|
GAUGE, INT64, 1
gce_instance |
Fréquence des changements d'état entre les états "actif" et "inactif" sur une liaison ICI.
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/network/ici_link_health
BÊTA
(projet)
État de la liaison ICI |
|
GAUGE, INT64, 1
gce_instance |
Indicateur numérique (0-10) représentant l'état de la liaison ICI. Des valeurs plus élevées indiquent des niveaux croissants d'instabilité de la liaison, allant d'un battement mineur et temporaire (1 à 5) à une dégradation persistante des performances (6 à 9). Une valeur de 10 représente une défaillance fatale de la liaison qui expulse automatiquement les charges de travail actives.
port_id : ID du port.
|
instance/tpu/accelerator/network/ici_packets_received_count
BÊTA
(projet)
Nombre de paquets ICI reçus |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets reçus par l'accélérateur TPU via ses liaisons d'interconnexion entre puces (ICI).
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/network/ici_packets_sent_count
BÊTA
(projet)
Nombre de paquets ICI envoyés |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets transmis par l'accélérateur TPU sur ses liaisons d'interconnexion entre puces (ICI).
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/pcie_fatal_error_count
BÊTA
(projet)
Nombre d'erreurs PCIe fatales |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre d'erreurs PCIe fatales se produisant au niveau de l'interface PCIe.
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/pcie_nonfatal_error_count
BÊTA
(projet)
Nombre d'erreurs PCIe non fatales |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre d'erreurs PCIe non fatales se produisant au niveau de l'interface PCIe.
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/power_draw
BÊTA
(projet)
Consommation électrique |
|
GAUGE, DOUBLE, W
gce_instance |
Consommation électrique de l'accélérateur mesurée en watts (W).
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/tray_power
BÊTA
(projet)
Alimentation du tiroir |
|
GAUGE, DOUBLE, W
gce_instance |
Puissance totale consommée par le plateau TPU.
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/tray_temperature
BÊTA
(projet)
Température du plateau |
|
GAUGE, DOUBLE, Cel
gce_instance |
Température du plateau du TPU.
accelerator_id : ID de l'accélérateur. Les valeurs valides sont 0, 1, 2 et 3.
|
instance/tpu/failure_prediction_status
BÊTA
(projet)
État de dégradation du TPU |
|
GAUGE, INT64, 1
gce_instance |
Cette métrique indique la probabilité qu'une machine TPU passe à un état dégradé dans les cinq prochaines heures, d'après les prédictions de notre algorithme propriétaire. Le libellé de valeur de cette métrique est NO_DEGRADATION_PREDICTED, DEGRADATION_PREDICTED, POSSIBLE_DEGRADATION_PREDICTED. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 540 secondes.
cluster_id : ID de cluster obscurci du cluster hébergeant la VM.
block_id : ID de bloc obscurci dans le cluster hébergeant la VM.
subblock_id : ID du sous-bloc obscurci hébergeant la VM.
machine_id : nom de la machine obscurci hébergeant la VM.
reservation_id : ID de la réservation.
Value : état d'une machine TPU qui passe à un état dégradé dans les cinq prochaines heures, comme prévu par notre algorithme propriétaire. Les valeurs possibles sont "NO_DEGRADATION_PREDICTED", "DEGRADATION_PREDICTED" et "POSSIBLE_DEGRADATION_PREDICTED".
|
tpu/capacity/available_chips
BÊTA
(projet)
Nombre de puces TPU disponibles |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Nombre actuel de puces TPU disponibles et prêtes à l'emploi.
accelerator_type : type et génération de l'accélérateur.
reservation_id : ID de la réservation de machine physique.
provisioning_model : modèle de provisionnement associé.
protection_tier : modèle de protection associé.
is_exr : indique si la puce TPU fait partie d'une réservation étendue.
|
tpu/capacity/committed_chips
BÊTA
(projet)
Nombre de puces TPU achetées |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Nombre actuel de puces TPU achetées.
accelerator_type : type et génération de l'accélérateur.
reservation_id : ID de la réservation de machine physique.
provisioning_model : modèle de provisionnement associé.
protection_tier : modèle de protection associé.
is_exr : indique si la puce TPU fait partie d'une réservation étendue.
|
tpu/network/nic_packets_dropped_count_rx
BÊTA
(projet)
Nombre de paquets supprimés par la carte d'interface réseau (Rx) |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets entrants supprimés par la carte d'interface réseau de l'hôte. Cela inclut les paquets que la carte d'interface réseau supprime intentionnellement, tels que les paquets sans route correspondante.
nic_id : ID de la carte d'interface réseau.
|
tpu/network/nic_packets_dropped_count_tx
BÊTA
(projet)
Nombre de paquets supprimés par la carte d'interface réseau (Tx) |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets sortants supprimés par la carte d'interface réseau de l'hôte. Cela inclut les paquets que la carte d'interface réseau supprime intentionnellement, tels que les paquets sans route correspondante. Un faible taux non nul est donc normal, même lorsqu'aucune charge de travail n'est en cours d'exécution.
nic_id : ID de la carte d'interface réseau.
|
tpu/network/nic_packets_received_count
BÊTA
(projet)
Nombre de paquets reçus par la carte d'interface réseau |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets reçus par la carte d'interface réseau de l'hôte. Cela inclut l'ensemble du trafic de l'hôte, et pas seulement le trafic de la charge de travail. Le nombre continue donc d'augmenter même lorsqu'aucune charge de travail n'est en cours d'exécution.
nic_id : ID de la carte d'interface réseau.
|
tpu/network/nic_packets_sent_count
BÊTA
(projet)
Nombre de paquets envoyés par la carte d'interface réseau |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets envoyés par la carte d'interface réseau hôte. Cela inclut l'ensemble du trafic de l'hôte, et pas seulement le trafic de la charge de travail. Le nombre continue donc d'augmenter même lorsqu'aucune charge de travail n'est en cours d'exécution.
nic_id : ID de la carte d'interface réseau.
|
Alpha
| Type de métrique Étape de lancement (Niveaux de la hiérarchie des ressources) Nom à afficher |
|
|---|---|
| Genre, type, unité Ressources surveillées |
Description Libellés |
quota/tpus_per_tpu_family/exceeded
ALPHA
(projet)
Erreur de dépassement de quota du nombre de TPU par famille de TPU |
|
DELTA, INT64, 1
compute.googleapis.com/Location |
Nombre de tentatives de dépassement de la limite de la métrique de quota compute.googleapis.com/tpus_per_tpu_family. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 150 secondes.
limit_name : nom de la limite.
tpu_family : dimension personnalisée de la famille de TPU.
|
quota/tpus_per_tpu_family/limit
ALPHA
(projet)
Nombre de TPU par famille de TPU. Limite de quota |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Limite actuelle de la métrique de quota compute.googleapis.com/tpus_per_tpu_family. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 150 secondes.
limit_name : nom de la limite.
tpu_family : dimension personnalisée de la famille de TPU.
|
quota/tpus_per_tpu_family/usage
ALPHA
(projet)
Utilisation du quota de TPU par famille de TPU |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Utilisation actuelle de la métrique de quota compute.googleapis.com/tpus_per_tpu_family. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 150 secondes.
limit_name : nom de la limite.
tpu_family : dimension personnalisée de la famille de TPU.
|
Collecteur de télémétrie IA
AI Telemetry Collector collecte et publie les métriques TPU sous l'espace de noms compute.googleapis.com pour les TPU créés à l'aide de l'API Compute Engine.
Ces métriques sont des métriques système intégrées qui offrent une visibilité sur l'état et les performances.
L'architecture du collecteur de télémétrie IA est conçue comme un collecteur OpenTelemetry (OTEL) léger et spécialisé. Il utilise deux récepteurs principaux pour capturer les données :
- Récepteur d'environnement d'exécution TPU : extrait les métriques d'environnement d'exécution et de charge de travail (telles que le cycle d'utilisation et l'utilisation de la mémoire) directement à partir de l'environnement d'exécution TPU lorsqu'une charge de travail de machine learning est active.
- Récepteur d'hôte TPU : capture les métriques d'utilisation du matériel, telles que l'utilisation de TensorCore et l'utilisation de la bande passante de la mémoire, directement à partir de l'appareil, qu'une charge de travail soit en cours d'exécution ou non.
Le collecteur de télémétrie IA utilise ensuite des processeurs pour appliquer automatiquement les tags de ressources nécessaires (tels que project_id, instance_id et zone) et exporte de manière sécurisée la télémétrie directement vers Cloud Monitoring.
AI Telemetry Collector est préinstallé dans les images Ubuntu LTS optimisées pour les TPU de Google et s'exécute automatiquement au démarrage de la VM. Pour utiliser cette configuration, spécifiez le projet et la famille d'images d'accélérateur Google officiels lors de la création d'une instance de VM TPU ou d'un modèle d'instance. Une fois la VM démarrée, le collecteur de télémétrie IA envoie automatiquement les métriques aux tableaux de bord Cloud Monitoring.
Si vous créez des images de système d'exploitation personnalisées, vous pouvez utiliser AI Telemetry Collector après avoir installé et exécuté l'image Docker ai-telemetry-collector. Pour en savoir plus, consultez Utiliser une image d'OS personnalisée.
Configuration
L'AI Telemetry Collector envoie automatiquement des métriques aux tableaux de bord Cloud Monitoring et ne nécessite aucune étape de configuration supplémentaire. Toutefois, vous pouvez configurer le package Snap ou l'image Docker pour ajouter des destinations d'exportation externes, modifier les intervalles de collecte des métriques et inclure des options de débogage.
Vous pouvez remplacer la configuration par défaut par un nouveau fichier de configuration ou ajouter un fichier de configuration supplémentaire à la configuration par défaut existante. Lors de l'ajout de configurations, les clés qui n'existent pas encore sont ajoutées et les clés existantes sont écrasées. Toutefois, les tableaux et les listes ne sont pas additifs. Les nouvelles listes doivent donc inclure à la fois les valeurs existantes et les nouvelles valeurs.
Le fichier YAML suivant configure AI Telemetry Collector pour envoyer des métriques à Prometheus, une boîte à outils Open Source de surveillance et d'alerte pour les systèmes. Il active également l'option de débogage, qui affiche les métriques dans la console.
exporters:
prometheus:
endpoint: 0.0.0.0:8889
service:
pipelines:
metrics:
exporters:
- prometheus # For more: https://prometheus.io/docs/introduction/overview/
- googlecloud # If you do not include this, you'll lose Google Cloud Monitoring
- debug # print metrics within the console
OS par défaut
Si vous utilisez les images Ubuntu LTS optimisées pour les TPU de Google, exécutez la commande Snap suivante pour ajouter le nouveau fichier de configuration à la configuration existante :
sudo snap set \
ai-telemetry-collector \
extra-flags="--config /home/username/additional-config.yaml"
Si vous souhaitez écraser et remplacer la configuration existante, utilisez l'option config-path au lieu de extra-flags :
sudo snap set \
ai-telemetry-collector \
config-path="/home/username/new-config.yaml"
La commande snap set devrait déclencher un redémarrage automatique du collecteur de télémétrie IA. Pour vérifier que le collecteur a redémarré et appliqué vos configurations, utilisez la commande suivante pour afficher les journaux :
sudo snap logs -f ai-telemetry-collector
OS personnalisé
Si vous utilisez un OS personnalisé, exécutez la commande Docker suivante pour ajouter le nouveau fichier de configuration à la configuration existante :
# First apply the default configs via `--config=/etc/ai-telemetry-collector/config.yaml`
# Then apply your additional config by volume mount.
docker run --privileged --net=host \
-v <path>/additional-config.yaml:/etc/ai-telemetry-collector/additional-config.yaml \
ai-telemetry-collector:latest \
--config=/etc/ai-telemetry-collector/config.yaml \
--config=/etc/ai-telemetry-collector/additional-config.yaml
Si vous souhaitez écraser et remplacer la configuration existante, utilisez la commande Docker suivante :
# Mount a volume (your config file) to `/etc/ai-telemetry-collector/config.yaml`
# The binary automatically picks up this file.
docker run --privileged --net=host \
-v <path>/my-config.yaml:/etc/ai-telemetry-collector/config.yaml \
ai-telemetry-collector:latest
Journaux d'audit
Les servicesGoogle Cloud génèrent des journaux d'audit qui enregistrent les activités d'administration et d'accès dans vos ressources Google Cloud . Pour en savoir plus, consultez Journaux d'audit Compute Engine.