TPU-VMs überwachen
In diesem Leitfaden wird erläutert, wie Sie mit Cloud Monitoring Ihre TPU-VMs überwachen. Cloud Monitoring erfasst automatisch Messwerte und Logs von Ihrer TPU und der zugehörigen Host-VM. Mit diesen Daten können Sie den Zustand Ihrer TPU und Compute Engine überwachen.
Mit Messwerten können Sie eine numerische Größe im Zeitverlauf verfolgen, z. B. die CPU-Auslastung, die Netzwerknutzung oder die Inaktivitätsdauer der TensorCores. In Logs werden Ereignisse zu einem bestimmten Zeitpunkt erfasst. Logeinträge werden von Ihrem eigenen Code, Diensten vonGoogle Cloud , Anwendungen von Drittanbietern und der Infrastruktur vonGoogle Cloud erstellt. Sie können auch Messwerte aus den Daten in einem Logeintrag generieren, indem Sie einen logbasierten Messwert erstellen. Sie können auch Benachrichtigungsrichtlinien auf Grundlage von Messwerten oder Logeinträgen festlegen.
Sie können zur Überwachung von TPUs auch Capacity Planner (Vorabversion) verwenden. Mit Capacity Planner können Sie TPU-Nutzungs- und Prognosedaten für Ihr Projekt, Ihren Ordner oder Ihre Organisation ansehen. Diese Daten werden alle 24 Stunden aktualisiert. Sie können sie verwenden, um Nutzungstrends zu analysieren und den zukünftigen Kapazitätsbedarf zu planen. Weitere Informationen finden Sie unter Übersicht über Capacity Planner.
Auf TPU-Messwerte zugreifen
Die Compute Engine generiert zwei Arten von TPU-Messwerten: TPU-Laufzeitmesswerte und TPU-VM-Infrastrukturmesswerte. Sie haben zwei Möglichkeiten, die Messwerte abzurufen:
TPU-Monitoring-Bibliothek: TPU-Laufzeitmesswerte aus dem LibTPU SDK mit der TPU-Monitoring-Bibliothek abrufen. So können Ihre Anwendungen Echtzeit-Telemetriedaten aus der Gastumgebung abrufen. Weitere Informationen finden Sie unter TPU-Monitoring-Bibliothek.
AI Telemetry Collector: Mit dem AI Telemetry Collector können Sie Laufzeitmesswerte und VM-Infrastrukturmesswerte abrufen. Der AI Telemetry Collector wird in der TPU-VM ausgeführt und ermöglicht Ihnen den Zugriff auf Messwerte über Cloud Monitoring oder über Ihre eigene Prometheus-basierte Monitoring-Pipeline. Weitere Informationen finden Sie unter AI Telemetry Collector.
TPU-Messwerte
Google Cloud -Messwerte für Cloud TPU werden automatisch von Compute Engine-VMs und der Cloud TPU-Laufzeit generiert. Die Messwerte in den folgenden Tabellen werden von Compute Engine-VMs generiert. Eine vollständige Liste der von Compute Engine generierten Messwerte finden Sie unter Compute Engine-Messwerte.
Den Strings vom Typ „metric type” in dieser Tabelle muss compute.googleapis.com/ vorangestellt werden. Dieses Präfix wurde in den Einträgen der Tabelle weggelassen. Verwenden Sie beim Abfragen eines Labels das Präfix metric.labels. Beispiel: metric.labels.LABEL="VALUE".
General Availability (GA)
| Messwerttyp Startphase (Ressourcenhierarchieebenen) Anzeigename |
|
|---|---|
| Art, Typ, Einheit Überwachte Ressourcen |
Beschreibung Labels |
instance/tpu/active_chips
GA
(Projekt)
Anzahl aktiver TPU-Chips |
|
GAUGE, INT64, 1
gce_instance |
Die aktuelle Anzahl der Chips, die aktiv genutzt werden (d. h. nicht inaktiv sind).
accelerator_type:
Beschleunigertyp und -generation.
reservation_id: Die ID der Reservierung für physische Maschinen.
provisioning_model:
Das zugehörige Bereitstellungsmodell.
protection_tier: Das zugehörige Schutzmodell.
block_id: Die ID des Blocks innerhalb des Clusters, der die VM hostet.
subblock_id: Die ID des Unterblocks, auf dem die VM gehostet wird.
is_exr:
(BOOL)
Gibt an, ob der Chip Teil einer erweiterten Reservierung ist.
|
instance/tpu/scheduled_chips
GA
(Projekt)
Anzahl der geplanten TPU-Chips |
|
GAUGE, INT64, 1
gce_instance |
Die aktuelle Anzahl der Chips, die einer VM zugewiesen sind, die den Status HEALTHY hat und NICHT für die Wartung DEAKTIVIERT ist.
accelerator_type:
Beschleunigertyp und -generation.
reservation_id: Die ID der Reservierung für physische Maschinen.
provisioning_model:
Das zugehörige Bereitstellungsmodell.
protection_tier: Das zugehörige Schutzmodell.
block_id: Die ID des Blocks innerhalb des Clusters, der die VM hostet.
subblock_id: Die ID des Unterblocks, auf dem die VM gehostet wird.
is_exr:
(BOOL)
Gibt an, ob der Chip Teil einer erweiterten Reservierung ist.
|
tpu/slice/capacity/available_chips
GA
(Projekt)
Anzahl der verfügbaren TPU-Chips |
|
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice |
Die aktuelle Anzahl der TPU-Chips der erweiterten Reservierung, die aktiv verfügbar und einsatzbereit sind. Alle 60 Sekunden wird eine Stichprobe erstellt. Nach der Stichprobe werden bis zu 360 Sekunden lang keine Daten angezeigt.
accelerator_type:
Beschleunigertyp und -generation.
reservation_id: Die ID der Reservierung für physische Maschinen.
block_id: Die Block-ID, die dem Slice zugeordnet ist.
subblock_id: Die Subblock-ID, die dem Slice zugeordnet ist.
provisioning_model:
Das zugehörige Bereitstellungsmodell.
protection_tier: Das zugehörige Schutzmodell.
|
tpu/slice/capacity/committed_chips
GA
(Projekt)
Anzahl der gekauften TPU-Chips |
|
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice |
Die aktuelle Anzahl der gekauften TPU-Chips der erweiterten Reservierung. Alle 60 Sekunden wird eine Stichprobe erstellt. Nach der Stichprobe werden bis zu 360 Sekunden lang keine Daten angezeigt.
accelerator_type:
Beschleunigertyp und -generation.
reservation_id: Die ID der Reservierung für physische Maschinen.
block_id: Die Block-ID, die dem Slice zugeordnet ist.
subblock_id: Die Subblock-ID, die dem Slice zugeordnet ist.
provisioning_model:
Das zugehörige Bereitstellungsmodell.
protection_tier: Das zugehörige Schutzmodell.
|
Beta
| Messwerttyp Startphase (Ressourcenhierarchieebenen) Anzeigename |
|
|---|---|
| Art, Typ, Einheit Überwachte Ressourcen |
Beschreibung Labels |
instance/tpu/accelerator/duty_cycle
BETA
(Projekt)
Arbeitszyklus des Beschleunigers |
|
GAUGE, DOUBLE, %
gce_instance |
Prozentsatz der Zeit im Stichprobenzeitraum, in dem der Beschleuniger aktiv Daten verarbeitet hat. Die Werte liegen im Bereich [0,100].
accelerator_id:
Geräte-ID des Beschleunigers.
|
instance/tpu/accelerator/memory_bandwidth_utilization
BETA
(Projekt)
Auslastung der Arbeitsspeicherbandbreite des Beschleunigers |
|
GAUGE, DOUBLE, %
gce_instance |
Aktueller Prozentsatz der verwendeten Arbeitsspeicherbandbreite des Beschleunigers. Wird berechnet, indem die in einem Stichprobenzeitraum genutzte Arbeitsspeicherbandbreite durch die maximal unterstützte Bandbreite im selben Stichprobenzeitraum geteilt wird.
accelerator_id:
Geräte-ID des Beschleunigers.
|
instance/tpu/accelerator/memory_total
BETA
(Projekt)
Beschleuniger-Arbeitsspeicher insgesamt |
|
GAUGE, INT64, By
gce_instance |
Gesamter Arbeitsspeicher des Beschleunigers, der derzeit in Byte zugewiesen ist.
accelerator_id:
Geräte-ID des Beschleunigers.
|
instance/tpu/accelerator/memory_used
BETA
(Projekt)
Verwendeter Beschleuniger-Arbeitsspeicher |
|
GAUGE, INT64, By
gce_instance |
Gesamter derzeit verwendeter Arbeitsspeicher des Beschleunigers in Byte.
accelerator_id:
Geräte-ID des Beschleunigers.
|
instance/tpu/accelerator/tensorcore_utilization
BETA
(Projekt)
TensorCore-Auslastung des Beschleunigers |
|
GAUGE, DOUBLE, %
gce_instance |
Aktueller Prozentsatz des verwendeten TensorCore. Wird berechnet, indem die TensorCore-Vorgänge, die in einem Stichprobenzeitraum ausgeführt wurden, durch die unterstützte Anzahl von TensorCore-Vorgängen im selben Stichprobenzeitraum geteilt werden.
accelerator_id:
Geräte-ID des Beschleunigers.
|
instance/tpu/chip_state
BETA
(Projekt)
Anzahl der TPU-Chip-Zustände |
|
GAUGE, INT64, 1
gce_instance |
Die Anzahl der TPU-Chips in verschiedenen Status wie „Fehlerfrei“, „Fehlerhaft“ und „Unbekannt“.
state:
Der Status des Chips.
accelerator_type:
Beschleunigertyp und -generation.
block_id: Die ID des Blocks innerhalb des Clusters, der die VM hostet.
subblock_id: Die ID des Subblocks, der die VM hostet.
reservation_id: Die ID der Reservierung für physische Maschinen.
is_exr:
(BOOL)
Gibt an, ob der Chip Teil einer erweiterten Reservierung ist.
|
instance/tpu/infra_health
BETA
(Projekt)
Zustand der TPU-Instanz |
|
GAUGE, INT64, 1
gce_instance |
Gibt den Gesamtzustand einer TPU-Instanz an. Anhand der Messwertlabels lassen sich der spezifische Status und die Gründe für Probleme bei TPU-Instanzen mit eingeschränkter Leistung oder fehlerhaften TPU-Instanzen ermitteln. Der Schwerpunkt liegt dabei auf der TPU-Hardware und dem Systemzustand. Es kann einige Minuten dauern, bis Änderungen am Integritätsstatus in diesem Messwert berücksichtigt werden. Alle 60 Sekunden wird eine Stichprobe erstellt. Nach der Stichprobe werden bis zu 420 Sekunden lang keine Daten angezeigt.
health_status: Der Gesamtzustand der TPU-Instanz. Mögliche Werte: HEALTHY (funktioniert wie erwartet), UNHEALTHY (kritisches Problem erkannt), DEGRADED (Problem mit Auswirkungen auf die Leistung), UNKNOWN (Status kann nicht ermittelt werden).
unhealthy_category: Erklärung für den fehlerhaften VM-Status. Dieses Label wird nur ausgefüllt, wenn der Wert des Messwerts „Fehlerhaft“ ist.
machine_type: Der Maschinentyp der Instanz (z.B. ct6e-standard-4t-tpu).
machine_id: Die ID des physischen Computers, auf dem die VM gehostet wird.
block_id: Die ID des Blocks innerhalb des Clusters, der die VM hostet.
cluster_id: Die ID des Clusters, auf dem die VM gehostet wird.
reservation_id: Die ID der Reservierung für physische Maschinen.
subblock_id: Die ID des Subblocks, auf dem die VM gehostet wird.
|
instance/tpu/runtime/uptime
BETA
(Projekt)
Laufzeit-Verfügbarkeit |
|
GAUGE, INT64, s
gce_instance |
Betriebszeit der ML-Laufzeit seit der Initialisierung der Laufzeitbibliothek (libtpu.so) durch den ML-Job. Während dieses Zeitraums blockiert die Laufzeitbibliothek die TPU-Geräte für die Verwendung durch den ML-Job.
ml_framework_name: Name des ML-Frameworks.
ml_framework_version:
Version des ML-Frameworks.
|
instance/tpu/utilized_chips
BETA
(Projekt)
Genutzte TPU-Chips |
|
GAUGE, DOUBLE, 1
gce_instance |
Die aktuelle aggregierte genutzte Kapazität, ausgedrückt als effektive Anzahl aktiver Chips. Sie entspricht der Summe der anteiligen Auslastung (0,0 bis 1,0) aller aktiven Chips.
accelerator_type:
Beschleunigertyp und -generation.
reservation_id: Die ID der Reservierung für physische Maschinen.
provisioning_model: Das zugehörige Bereitstellungsmodell.
protection_tier: Das zugehörige Schutzmodell.
block_id: Die ID des Blocks innerhalb des Clusters, der die VM hostet.
subblock_id: Die ID des Subblocks, der die VM hostet.
is_exr:
(BOOL)
Gibt an, ob der Chip Teil einer erweiterten Reservierung ist.
|
tpu/multislice/accelerator/device_to_host_transfer_latencies
BETA
(Projekt)
Latenzen bei der Übertragung vom Gerät zum Host |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Kumulative Verteilung der Übertragungslatenz von Gerät zu Host für jeden Datenblock. Die Latenz beginnt, wenn die Anfrage zur Übertragung von Daten an den Host gesendet wird, und endet, wenn eine Bestätigung eingeht, dass die Datenübertragung abgeschlossen ist.
buffer_size:
Puffergröße.
|
tpu/multislice/accelerator/host_to_device_transfer_latencies
BETA
(Projekt)
Latenzen bei der Übertragung vom Host zum Gerät |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Kumulative Verteilung der Host-zu-Gerät-Übertragungslatenz für jeden Datenblock für Multi-Slice-Traffic. Die Latenz beginnt, wenn die Anfrage zur Übertragung von Daten an das Gerät gestellt wird, und endet, wenn eine Bestätigung eingeht, dass die Datenübertragung abgeschlossen ist.
buffer_size:
Puffergröße.
|
tpu/multislice/network/collective_end_to_end_latencies
BETA
(Projekt)
Gemeinsame End-to-End-Latenzen |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Kumulative Verteilung der Gesamt-End-to-End-Latenz für Multi-Slice-Traffic. Die Latenz beginnt, wenn die Anfrage für die Sammlung gesendet wird, und endet, wenn eine Bestätigung eingeht, dass die Datenübertragung abgeschlossen ist.
input_size:
Eingabegröße des kollektiven Vorgangs.
collective_type:
Typ des kollektiven Vorgangs.
|
tpu/multislice/network/dcn_transfer_latencies
BETA
(Projekt)
DCN-Übertragungslatenzen |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Kumulative Verteilung der Netzwerkübertragungslatenzen für Multi-Slice-Traffic. Die Latenz beginnt, wenn die Anfrage zur Datenübertragung über das DCN gestellt wird, und endet, wenn eine Bestätigung eingeht, dass die Datenübertragung abgeschlossen ist.
buffer_size:
Puffergröße.
type:
Typ.
|
tpu/multislice/network/grpc_client_call_latencies
BETA
(Projekt)
gRPC-Client-Aufruflatenzen |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Kumulative Verteilung der Netzwerkübertragungslatenzen für die gRPC-Bibliothek, um einen RPC aus Sicht des Aufrufers abzuschließen.
buffer_size:
Puffergröße.
|
tpu/multislice/network/grpc_server_call_latencies
BETA
(Projekt)
gRPC-Serveraufruflatenzen |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Kumulative Verteilung der Netzwerkübertragungslatenzen für den gRPC-Server, um einen RPC aus Transportperspektive abzuschließen.
buffer_size:
Puffergröße.
|
tpu/multislice/network/grpc_tcp_delivery_rates
BETA
(Projekt)
gRPC-TCP-Übermittlungsraten |
|
CUMULATIVE, DISTRIBUTION, Mb/s
gce_instance |
Kumulative Verteilung der Datenübertragungsraten von TCP-Verbindungen. Jede Stichprobe ist die letzte durchschnittliche Datenübertragungsrate für eine bestimmte TCP-Verbindung über das letzte TCP-ACK-Intervall. Alle 20 Sekunden werden Stichproben der Datenübertragungsraten aus dem Linux-TCP-Kernel abgerufen. Es ist also zu erwarten, dass jede TCP-Verbindung etwa 3 Stichproben pro 60-Sekunden-Intervall erstellt. |
tpu/multislice/network/grpc_tcp_min_round_trip_times
BETA
(Projekt)
Minimale gRPC-TCP-Umlaufzeiten |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Kumulative Verteilung der minimalen Netzwerkübertragungslatenzen pro TCP-Verbindung. |
tpu/multislice/network/grpc_tcp_packets_retransmitted_count
BETA
(Projekt)
Anzahl der erneut übertragenen gRPC-TCP-Pakete |
|
CUMULATIVE, INT64, 1
gce_instance |
Gesamtzahl der erneut übertragenen Pakete. |
tpu/multislice/network/grpc_tcp_packets_sent_count
BETA
(Projekt)
Anzahl der gesendeten gRPC-TCP-Pakete |
|
CUMULATIVE, INT64, 1
gce_instance |
Gesamtzahl der von TCP gesendeten Pakete. |
instance/tpu/accelerator/core_temperature
BETA
(Projekt)
Kerntemperatur |
|
GAUGE, DOUBLE, Cel
gce_instance |
Kerntemperatur der TPU.
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
|
instance/tpu/accelerator/core_throttling_indicator
BETA
(Projekt)
Kern-Drosselungsindikator |
|
GAUGE, DOUBLE, 1
gce_instance |
Anzahl der pro Sekunde übersprungenen Taktzyklen im Verhältnis zur Gesamtzahl der Taktzyklen pro TPU-Kern.
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
|
instance/tpu/accelerator/hbm_power_draw
BETA
(Projekt)
HBM-Stromverbrauch |
|
GAUGE, DOUBLE, W
gce_instance |
Summe der Leistung des HBM-Moduls in Watt (W).
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
|
instance/tpu/accelerator/hbm_temperature
BETA
(Projekt)
HBM-Temperatur |
|
GAUGE, DOUBLE, Cel
gce_instance |
Temperatur des High Bandwidth Memory (HBM) der TPU.
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
hbm_id:
Kennung des HBM-Moduls (High Bandwidth Memory). In der Regel ist nur der oberste Wert vorhanden, z. B. hbm_0.
|
instance/tpu/accelerator/hbm_uncorrectable_count
BETA
(Projekt)
Anzahl nicht korrigierbarer HBM-Fehler |
|
CUMULATIVE, INT64, 1
gce_instance |
Anzahl der nicht korrigierbaren Fehler im HBM (schwerwiegend).
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
|
instance/tpu/accelerator/mxu_temperature
BETA
(Projekt)
MXU-Temperatur |
|
GAUGE, DOUBLE, Cel
gce_instance |
Temperatur der Matrixmultiplikationseinheit (MXU) der TPU.
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
die_id: Slot-Index für den Beschleuniger. Hat normalerweise nur einen obersten Wert, z. B. die_0.
|
instance/tpu/accelerator/network/ici_link_flaps
BETA
(Projekt)
ICI-Link-Flaps |
|
GAUGE, INT64, 1
gce_instance |
Häufigkeit von Statusänderungen zwischen den Status „Up“ und „Down“ auf einem ICI-Link.
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
|
instance/tpu/accelerator/network/ici_link_health
BETA
(Projekt)
ICI-Link-Zustand |
|
GAUGE, INT64, 1
gce_instance |
Ein numerischer Indikator (0–10), der den Zustand der ICI-Verbindung darstellt. Höhere Werte weisen auf eine zunehmende Instabilität der Verbindung hin – von geringfügigen, vorübergehenden Schwankungen (1–5) bis hin zu anhaltend schlechter Leistung (6–9). Der Wert 10 steht für einen schwerwiegenden Linkfehler, der dazu führt, dass aktive Arbeitslasten automatisch entfernt werden.
port_id:
Port-ID.
|
instance/tpu/accelerator/network/ici_packets_received_count
BETA
(Projekt)
Anzahl der empfangenen ICI-Pakete |
|
CUMULATIVE, INT64, 1
gce_instance |
Gesamtzahl der Pakete, die der TPU-Beschleuniger über seine Inter-Chip Interconnect-Links (ICI) empfangen hat.
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
|
instance/tpu/accelerator/network/ici_packets_sent_count
BETA
(Projekt)
Anzahl der gesendeten ICI-Pakete |
|
CUMULATIVE, INT64, 1
gce_instance |
Gesamtzahl der Pakete, die vom TPU-Beschleuniger über seine Inter-Chip Interconnect-Verbindungen (ICI) übertragen wurden.
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
|
instance/tpu/accelerator/pcie_fatal_error_count
BETA
(Projekt)
Anzahl der schwerwiegenden PCIe-Fehler |
|
CUMULATIVE, INT64, 1
gce_instance |
Anzahl der schwerwiegenden PCIe-Fehler, die an der PCIe-Schnittstelle auftreten.
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
|
instance/tpu/accelerator/pcie_nonfatal_error_count
BETA
(Projekt)
Anzahl nicht schwerwiegender PCIe-Fehler |
|
CUMULATIVE, INT64, 1
gce_instance |
Anzahl der nicht schwerwiegenden PCIe-Fehler, die an der PCIe-Schnittstelle auftreten.
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
|
instance/tpu/accelerator/power_draw
BETA
(Projekt)
Stromverbrauch |
|
GAUGE, DOUBLE, W
gce_instance |
Leistungsaufnahme des Beschleunigers in Watt (W).
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
|
instance/tpu/accelerator/tray_power
BETA
(Projekt)
Tray-Leistung |
|
GAUGE, DOUBLE, W
gce_instance |
Gesamtstromverbrauch am TPU-Tray.
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
|
instance/tpu/accelerator/tray_temperature
BETA
(Projekt)
Tray-Temperatur |
|
GAUGE, DOUBLE, Cel
gce_instance |
Tray-Temperatur der TPU.
accelerator_id: Die Geräte-ID des Beschleunigers. Gültige Werte sind 0, 1, 2 und 3.
|
instance/tpu/failure_prediction_status
BETA
(Projekt)
TPU-Beeinträchtigungsstatus |
|
GAUGE, INT64, 1
gce_instance |
Dieser Messwert gibt die Wahrscheinlichkeit an, dass eine TPU-Maschine innerhalb der nächsten 5 Stunden in einen beeinträchtigten Zustand übergeht, wie von unserem proprietären Algorithmus vorhergesagt. Das Wertelabel für diesen Messwert ist NO_DEGRADATION_PREDICTED, DEGRADATION_PREDICTED, POSSIBLE_DEGRADATION_PREDICTED. Alle 60 Sekunden wird eine Stichprobe erstellt. Nach der Stichprobe werden bis zu 540 Sekunden lang keine Daten angezeigt.
cluster_id: Die verschleierte Cluster-ID des Clusters, auf dem die VM gehostet wird.
block_id: Die verschleierte Block-ID innerhalb des Clusters, der die VM hostet.
subblock_id: Die verschleierte Subblock-ID, die die VM hostet.
machine_id: Der verschleierte Name der Maschine, auf der die VM gehostet wird.
reservation_id: Die Reservierungs-ID.
Value:
Der Status einer TPU-Maschine, die innerhalb der nächsten 5 Stunden in einen beeinträchtigten Zustand übergeht, wie von unserem proprietären Algorithmus vorhergesagt. Mögliche Werte sind „NO_DEGRADATION_PREDICTED“, „DEGRADATION_PREDICTED“, „POSSIBLE_DEGRADATION_PREDICTED“.
|
tpu/capacity/available_chips
BETA
(Projekt)
Anzahl der verfügbaren TPU-Chips |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Die aktuelle Anzahl der TPU-Chips, die verfügbar und einsatzbereit sind.
accelerator_type: Der Beschleunigertyp und die Generation.
reservation_id: Die ID der Reservierung für physische Maschinen.
provisioning_model:
Das zugehörige Bereitstellungsmodell.
protection_tier: Das zugehörige Schutzmodell.
is_exr: Gibt an, ob der TPU-Chip Teil einer erweiterten Reservierung ist.
|
tpu/capacity/committed_chips
BETA
(Projekt)
Anzahl der gekauften TPU-Chips |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Die aktuelle Anzahl der gekauften TPU-Chips.
accelerator_type:
Der Beschleunigertyp und die Generation.
reservation_id: Die ID der Reservierung für physische Maschinen.
provisioning_model:
Das zugehörige Bereitstellungsmodell.
protection_tier: Das zugehörige Schutzmodell.
is_exr: Gibt an, ob der TPU-Chip Teil einer erweiterten Reservierung ist.
|
tpu/network/nic_packets_dropped_count_rx
BETA
(Projekt)
Anzahl der verworfenen NIC-Pakete Rx |
|
CUMULATIVE, INT64, 1
gce_instance |
Die Gesamtzahl der eingehenden Pakete, die von der Host-NIC verworfen wurden. Dazu gehören auch Pakete, die von der NIC absichtlich verworfen werden, z. B. Pakete ohne übereinstimmende Route.
nic_id:
NIC-ID.
|
tpu/network/nic_packets_dropped_count_tx
BETA
(Projekt)
Anzahl der verworfenen NIC-Pakete (Tx) |
|
CUMULATIVE, INT64, 1
gce_instance |
Die Gesamtzahl der ausgehenden Pakete, die von der Host-NIC verworfen wurden. Dazu gehören Pakete, die von der NIC absichtlich verworfen werden, z. B. Pakete ohne übereinstimmende Route. Eine kleine Rate ungleich null ist also normal, auch wenn keine Arbeitslast ausgeführt wird.
nic_id:
NIC-ID.
|
tpu/network/nic_packets_received_count
BETA
(Projekt)
Anzahl der empfangenen NIC-Pakete |
|
CUMULATIVE, INT64, 1
gce_instance |
Die Gesamtzahl der Pakete, die von der Host-NIC empfangen wurden. Dazu gehört der gesamte Host-Traffic, nicht nur der Arbeitslast-Traffic. Die Anzahl steigt also auch dann, wenn keine Arbeitslast ausgeführt wird.
nic_id:
NIC-ID.
|
tpu/network/nic_packets_sent_count
BETA
(Projekt)
Anzahl der gesendeten NIC-Pakete |
|
CUMULATIVE, INT64, 1
gce_instance |
Die Gesamtzahl der vom Host-NIC gesendeten Pakete. Dazu gehört der gesamte Host-Traffic, nicht nur der Arbeitslast-Traffic. Die Anzahl steigt also auch dann, wenn keine Arbeitslast ausgeführt wird.
nic_id:
NIC-ID.
|
Alpha
| Messwerttyp Startphase (Ressourcenhierarchieebenen) Anzeigename |
|
|---|---|
| Art, Typ, Einheit Überwachte Ressourcen |
Beschreibung Labels |
quota/tpus_per_tpu_family/exceeded
ALPHA
(Projekt)
Fehler „TPU-Anzahl pro TPU-Familie. Kontingent überschritten“ |
|
DELTA, INT64, 1
compute.googleapis.com/Location |
Anzahl der Versuche, das Limit für den Kontingentmesswert „compute.googleapis.com/tpus_per_tpu_family“ zu überschreiten. Nach der Stichprobe werden bis zu 150 Sekunden lang keine Daten angezeigt.
limit_name: Der Name des Limits.
tpu_family: Benutzerdefinierte Dimension für die TPU-Familie.
|
quota/tpus_per_tpu_family/limit
ALPHA
(Projekt)
TPU-Anzahl pro TPU-Familie. Kontingentlimit |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Aktuelles Limit für den Kontingentmesswert „compute.googleapis.com/tpus_per_tpu_family“. Alle 60 Sekunden wird eine Stichprobe erstellt. Nach der Stichprobe werden bis zu 150 Sekunden lang keine Daten angezeigt.
limit_name: Der Name des Limits.
tpu_family: Benutzerdefinierte Dimension für die TPU-Familie.
|
quota/tpus_per_tpu_family/usage
ALPHA
(Projekt)
TPU-Anzahl pro TPU-Familie. Kontingentnutzung |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Aktuelle Nutzung des Kontingentmesswerts „compute.googleapis.com/tpus_per_tpu_family“. Nach der Stichprobe werden bis zu 150 Sekunden lang keine Daten angezeigt.
limit_name: Der Name des Limits.
tpu_family: Benutzerdefinierte Dimension für die TPU-Familie.
|
AI Telemetry Collector
Der AI Telemetry Collector erfasst und veröffentlicht TPU-Messwerte im Namespace compute.googleapis.com für TPUs, die mit der Compute Engine API erstellt wurden.
Diese Messwerte sind integrierte Systemmesswerte, die Einblick in den Zustand und die Leistung geben.
Die Architektur des AI Telemetry Collector ist als einfacher, spezialisierter OpenTelemetry-Collector (OTEL) konzipiert. Es werden zwei primäre Empfänger verwendet, um Daten zu erfassen:
- TPU Runtime Receiver: Erfasst Laufzeit- und Arbeitslastmesswerte (z. B. Arbeitszyklus und Speichernutzung) direkt aus der TPU-Laufzeit, wenn eine ML-Arbeitslast aktiv ist.
- TPU-Host-Receiver: Erfasst Hardwareauslastungsmesswerte wie TensorCore-Auslastung und Speicherbandbreitenauslastung direkt vom Gerät, unabhängig davon, ob eine Arbeitslast ausgeführt wird.
Der AI Telemetry Collector verwendet dann Prozessoren, um automatisch die erforderlichen Ressourcen-Tags (z. B. project_id, instance_id und zone) anzuwenden, und exportiert die Telemetriedaten sicher direkt in Cloud Monitoring.
Der AI Telemetry Collector ist in den TPU-optimierten Ubuntu LTS-Images von Google vorinstalliert und wird beim Booten der VM automatisch ausgeführt. Wenn Sie diese Einrichtung verwenden möchten, geben Sie beim Erstellen einer TPU-VM-Instanz oder -Instanzvorlage das offizielle Google-Beschleuniger-Image-Projekt und die entsprechende Familie an. Sobald die VM gestartet ist, sendet der AI Telemetry Collector automatisch Messwerte an Cloud Monitoring-Dashboards.
Wenn Sie benutzerdefinierte Betriebssystem-Images erstellen, können Sie den AI Telemetry Collector verwenden, nachdem Sie das Docker-Image ai-telemetry-collector installiert und ausgeführt haben. Weitere Informationen finden Sie unter Benutzerdefiniertes Betriebssystem-Image verwenden.
Konfiguration
Der AI Telemetry Collector sendet automatisch Messwerte an Cloud Monitoring-Dashboards und erfordert keine zusätzlichen Konfigurationsschritte. Sie können jedoch das Snap-Paket oder das Docker-Image so konfigurieren, dass externe Exportziele hinzugefügt, Intervalle für die Messwerterfassung geändert und Debugging-Optionen einbezogen werden.
Sie können die Standardkonfiguration entweder durch eine neue Konfigurationsdatei ersetzen oder eine zusätzliche Konfigurationsdatei an die vorhandene Standardkonfiguration anhängen. Wenn Sie Konfigurationen hinzufügen, werden Schlüssel, die noch nicht vorhanden sind, hinzugefügt und vorhandene Schlüssel überschrieben. Arrays und Listen sind jedoch nicht additiv. Neue Listen müssen daher sowohl vorhandene als auch neue Werte enthalten.
Mit der folgenden YAML-Datei wird AI Telemetry Collector so konfiguriert, dass Messwerte an Prometheus gesendet werden, ein Open-Source-Toolkit für Systemmonitoring und Benachrichtigungen. Außerdem wird die Debugging-Option aktiviert, mit der Messwerte in der Konsole ausgegeben werden.
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
Standardbetriebssystem
Wenn Sie die TPU-optimierten Ubuntu LTS-Images von Google verwenden, führen Sie den folgenden Snap-Befehl aus, um die neue Konfigurationsdatei der vorhandenen Konfiguration hinzuzufügen:
sudo snap set \
ai-telemetry-collector \
extra-flags="--config /home/username/additional-config.yaml"
Wenn Sie die vorhandene Konfiguration überschreiben und ersetzen möchten, verwenden Sie das Flag config-path anstelle von extra-flags:
sudo snap set \
ai-telemetry-collector \
config-path="/home/username/new-config.yaml"
Der Befehl snap set sollte einen automatischen Neustart des AI Telemetry Collectors auslösen. Prüfen Sie mit dem folgenden Befehl, ob der Collector neu gestartet wurde und Ihre Konfigurationen erfolgreich angewendet wurden:
sudo snap logs -f ai-telemetry-collector
Benutzerdefiniertes Betriebssystem
Wenn Sie ein benutzerdefiniertes Betriebssystem verwenden, führen Sie den folgenden Docker-Befehl aus, um die neue Konfigurationsdatei der vorhandenen Konfiguration hinzuzufügen:
# 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
Wenn Sie die vorhandene Konfiguration überschreiben und ersetzen möchten, verwenden Sie den folgenden Docker-Befehl:
# 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
Audit-Logs
Dienste vonGoogle Cloud generieren Audit-Logs, in denen Verwaltungs- und Zugriffsaktivitäten in Ihren Ressourcen von Google Cloud aufgezeichnet werden. Weitere Informationen finden Sie unter Compute Engine-Audit-Logging.