TPU VM をモニタリングする

このガイドでは、Cloud Monitoring を使用して TPU VM をモニタリングする方法について説明します。Cloud Monitoring は、TPU とそのホスト VM から指標とログを自動的に収集します。これらのデータを使用して、TPU と Compute Engine の状態をモニタリングできます。

指標を使用すると、CPU 使用率、ネットワーク使用量、TensorCore のアイドル期間など、時間の経過に伴う数値を追跡できます。ログは特定の時点でのイベントをキャプチャします。ログエントリは、独自のコード、Google Cloud サービス、サードパーティ アプリケーション、Google Cloud インフラストラクチャによって作成されます。ログベースの指標を作成して、ログエントリに存在するデータから指標を生成することもできます。指標値またはログエントリに基づいてアラート ポリシーを設定することもできます。

TPU をモニタリングするには、キャパシティ プランナー(プレビュー)も使用できます。Capacity Planner を使用すると、プロジェクト、フォルダ、組織の TPU の使用状況と予測データを表示できます。このデータは 24 時間ごとに更新され、使用状況の傾向を分析して、今後の容量ニーズを計画するために使用できます。詳細については、Capacity Planner の概要をご覧ください。

TPU 指標にアクセスする

Compute Engine は、TPU ランタイム指標と TPU VM インフラストラクチャ指標の 2 種類の TPU 指標を生成します。指標を取得する方法は次の 2 つです。

  • TPU モニタリング ライブラリ: TPU モニタリング ライブラリを使用して、LibTPU SDK から TPU ランタイム指標を取得します。これにより、アプリケーションはゲスト環境内からリアルタイムのテレメトリーを取得できます。詳細については、TPU モニタリング ライブラリをご覧ください。

  • AI テレメトリー コレクタ: AI テレメトリー コレクタを使用して、ランタイム指標と VM インフラストラクチャ指標を取得します。AI テレメトリー コレクタは TPU VM 内で実行され、Cloud Monitoring または独自の Prometheus ベースのモニタリング パイプラインを介して指標にアクセスできます。詳細については、AI テレメトリー コレクタをご覧ください。

TPU 指標

Cloud TPU のGoogle Cloud 指標は、Compute Engine VM と Cloud TPU ランタイムによって自動的に生成されます。次の表の指標は、Compute Engine VM によって生成されます。Compute Engine によって生成される指標の一覧については、 Compute Engine の指標をご覧ください。

次の表の指標タイプの文字列には、compute.googleapis.com/ という接頭辞を付ける必要があります。この接頭辞は、表中の項目では省略されています。ラベルをクエリする場合は、metric.labels 接頭辞を使用します(例: metric.labels.LABEL="VALUE")。

一般提供(GA)

指標タイプリリース ステージ (リソース階層レベル)
表示名
種類、タイプ、単位
モニタリング対象リソース
説明
ラベル
instance/tpu/active_chips GA  (プロジェクト)
アクティブな TPU チップの数
GAUGE、INT64、1
gce_instance
現在アクティブに使用されている(つまり、アイドル状態ではない)チップの数。
accelerator_type: アクセラレータのタイプと世代。
reservation_id: 物理マシンの予約の ID。
provisioning_model: 関連付けられたプロビジョニング モデル。
protection_tier: 関連付けられた保護モデル。
block_id: VM をホストするクラスタ内のブロックの ID。
subblock_id: VM をホストするサブブロックの ID。
is_exr: (BOOL) チップが拡張予約の一部であるかどうかを示します。
instance/tpu/scheduled_chips GA  (プロジェクト)
スケジュール設定された TPU チップの数
GAUGE、INT64、1
gce_instance
メンテナンスのために無効になっていない、正常な VM に割り当てられているチップの現在の数。
accelerator_type: アクセラレータのタイプと世代。
reservation_id: 物理マシンの予約の ID。
provisioning_model: 関連付けられたプロビジョニング モデル。
protection_tier: 関連付けられた保護モデル。
block_id: VM をホストするクラスタ内のブロックの ID。
subblock_id: VM をホストするサブブロックの ID。
is_exr: (BOOL) チップが拡張予約の一部であるかどうかを示します。
tpu/slice/capacity/available_chips GA  (プロジェクト)
使用可能な TPU チップ数
GAUGE、INT64、1
compute.googleapis.com/AcceleratorSlice
現在アクティブに使用可能な拡張予約の TPU チップの数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 360 秒間表示されません。
accelerator_type: アクセラレータのタイプと世代。
reservation_id: 物理マシンの予約の ID。
block_id: スライスに関連付けられたブロック ID。
subblock_id: スライスに関連付けられているサブブロック ID。
provisioning_model: 関連付けられたプロビジョニング モデル。
protection_tier: 関連付けられた保護モデル。
tpu/slice/capacity/committed_chips GA  (プロジェクト)
購入した TPU チップの数
GAUGE、INT64、1
compute.googleapis.com/AcceleratorSlice
拡張予約で購入した TPU チップの現在の数。60 秒ごとにサンプリングされます。サンプリング後、データは最長 360 秒間表示されません。
accelerator_type: アクセラレータのタイプと世代。
reservation_id: 物理マシンの予約の ID。
block_id: スライスに関連付けられたブロック ID。
subblock_id: スライスに関連付けられているサブブロック ID。
provisioning_model: 関連付けられたプロビジョニング モデル。
protection_tier: 関連付けられた保護モデル。

ベータ版

指標タイプリリース ステージ (リソース階層レベル)
表示名
種類、タイプ、単位
モニタリング対象リソース
説明
ラベル
instance/tpu/accelerator/duty_cycle ベータ版  (プロジェクト)
アクセラレータのデューティ サイクル
GAUGE、DOUBLE、%
gce_instance
サンプル期間中にアクセラレータがアクティブに処理していた時間の割合。値の範囲は 0 ~ 100 です。
accelerator_id: アクセラレータのデバイス ID。
instance/tpu/accelerator/memory_bandwidth_utilization ベータ版  (プロジェクト)
アクセラレータのメモリ帯域幅使用率
GAUGE、DOUBLE、%
gce_instance
使用されているアクセラレータ メモリ帯域幅の現在の割合。サンプル期間で使用されたメモリ帯域幅を、同じサンプル期間でサポートされる最大帯域幅で割って計算されます。
accelerator_id: アクセラレータのデバイス ID。
instance/tpu/accelerator/memory_total ベータ版  (プロジェクト)
アクセラレータの合計メモリ
GAUGE、INT64、By
gce_instance
現在割り当てられているアクセラレータの合計メモリ量(バイト単位)。
accelerator_id: アクセラレータのデバイス ID。
instance/tpu/accelerator/memory_used ベータ版  (プロジェクト)
使用されているアクセラレータ メモリ
GAUGE、INT64、By
gce_instance
現在使用されているアクセラレータの合計メモリ量(バイト単位)。
accelerator_id: アクセラレータのデバイス ID。
instance/tpu/accelerator/tensorcore_utilization ベータ版  (プロジェクト)
アクセラレータ TensorCore 使用率
GAUGE、DOUBLE、%
gce_instance
使用されている TensorCore の現在の割合。サンプル期間に実行された Tensorcore オペレーションを、同じサンプル期間にサポートされている Tensorcore オペレーションの数で割って計算されます。
accelerator_id: アクセラレータのデバイス ID。
instance/tpu/chip_state ベータ版  (プロジェクト)
TPU チップの状態数
GAUGE、INT64、1
gce_instance
正常、異常、不明などのさまざまな状態の TPU チップの数。
state: チップの状態。
accelerator_type: アクセラレータのタイプと世代。
block_id: VM をホストするクラスタ内のブロックの ID。
subblock_id: VM をホストするサブブロックの ID。
reservation_id: 物理マシンの予約の ID。
is_exr: (BOOL) チップが拡張予約の一部であるかどうかを示します。
instance/tpu/infra_health ベータ版  (プロジェクト)
TPU インスタンスの健全性
GAUGE、INT64、1
gce_instance
TPU インスタンスの全体的な健全性ステータスを示します。指標ラベルは、主に TPU ハードウェアとシステムの健全性に焦点を当てて、パフォーマンスが低下した TPU インスタンスまたは異常な TPU インスタンスの特定の健全性ステータスと問題の理由を特定するのに役立ちます。ヘルスステータスの変更がこの指標に反映されるまでに数分かかることがあります。60 秒ごとにサンプリングされます。サンプリング後、データは最長 420 秒間表示されません。
health_status: TPU インスタンスの全体的な健全性状態。有効な値: HEALTHY(想定どおりに動作)、UNHEALTHY(重大な問題が検出された)、DEGRADED(パフォーマンスに影響する問題)、UNKNOWN(ステータスを特定できない)。
unhealthy_category: 異常な VM ステータスの説明。このラベルは、指標の値が Unhealthy の場合にのみ入力されます。
machine_type: インスタンスのマシンタイプ(例: ct6e-standard-4t-tpu)。
machine_id: VM をホストする物理マシンの ID。
block_id: VM をホストするクラスタ内のブロックの ID。
cluster_id: VM をホストするクラスタの ID。
reservation_id: 物理マシンの予約の ID。
subblock_id: VM をホストするサブブロックの ID。
instance/tpu/runtime/uptime ベータ版  (プロジェクト)
ランタイムの稼働時間
GAUGE、INT64、s
gce_instance
ML ジョブによるランタイム ライブラリ(libtpu.so)の初期化以降の ML ランタイムの稼働時間。この期間中、ランタイム ライブラリは ML ジョブで使用するために TPU デバイスをブロックします。
ml_framework_name: ML フレームワークの名前。
ml_framework_version: ML フレームワークのバージョン。
instance/tpu/utilized_chips ベータ版  (プロジェクト)
使用中の TPU チップ
GAUGE、DOUBLE、1
gce_instance
現在使用されている合計容量。有効なアクティブ チップ数として表されます。これは、すべてのアクティブなチップの小数使用率(0.0 ~ 1.0)の合計に相当します。
accelerator_type: アクセラレータのタイプと世代。
reservation_id: 物理マシンの予約の ID。
provisioning_model: 関連付けられたプロビジョニング モデル。
protection_tier: 関連付けられた保護モデル。
block_id: VM をホストするクラスタ内のブロックの ID。
subblock_id: VM をホストするサブブロックの ID。
is_exr: (BOOL) チップが拡張予約の一部であるかどうかを示します。
tpu/multislice/accelerator/device_to_host_transfer_latencies ベータ版  (プロジェクト)
デバイスからホストへの転送レイテンシ
CUMULATIVE、DISTRIBUTION、us
gce_instance
データチャンクごとのデバイスからホストへの転送レイテンシの累積分布。レイテンシは、ホストに転送するデータのリクエストが発行されたときに始まり、データ転送が完了したという確認応答を受信したときに終わります。
buffer_size: バッファサイズ。
tpu/multislice/accelerator/host_to_device_transfer_latencies ベータ版  (プロジェクト)
ホストからデバイスへの転送レイテンシ
CUMULATIVE、DISTRIBUTION、us
gce_instance
マルチスライス トラフィックのデータチャンクごとの、ホストからデバイスへの転送レイテンシの累積分布。レイテンシは、デバイスに転送するデータのリクエストが発行されたときに始まり、データの転送が完了したという確認応答を受信したときに終わります。
buffer_size: バッファサイズ。
tpu/multislice/network/collective_end_to_end_latencies ベータ版  (プロジェクト)
集合エンドツーエンド レイテンシ
CUMULATIVE、DISTRIBUTION、us
gce_instance
マルチスライス トラフィックのエンドツーエンドの全体的なレイテンシの累積分布。レイテンシは、グループのリクエストが発行されると開始し、データの転送が完了したことを示す確認応答を受信すると終了します。
input_size: コレクティブ オペレーションの入力サイズ。
collective_type: コレクティブ オペレーションのタイプ。
tpu/multislice/network/dcn_transfer_latencies ベータ版  (プロジェクト)
DCN 転送レイテンシ
CUMULATIVE、DISTRIBUTION、us
gce_instance
マルチスライス トラフィックのネットワーク転送レイテンシの累積分布。レイテンシは、DCN 経由で転送されるデータのリクエストが発行されたときに開始され、データの転送が完了したことを示す確認応答が受信されたときに終了します。
buffer_size: バッファサイズ。
type: タイプ。
tpu/multislice/network/grpc_client_call_latencies ベータ版  (プロジェクト)
gRPC クライアント呼び出しのレイテンシ
CUMULATIVE、DISTRIBUTION、us
gce_instance
呼び出し元の観点から gRPC ライブラリが RPC を完了するのに要したネットワーク転送レイテンシの累積分布。
buffer_size: バッファサイズ。
tpu/multislice/network/grpc_server_call_latencies ベータ版  (プロジェクト)
gRPC サーバー呼び出しのレイテンシ
CUMULATIVE、DISTRIBUTION、us
gce_instance
トランスポートの観点から gRPC サーバーが RPC を完了するまでのネットワーク転送レイテンシの累積分布。
buffer_size: バッファサイズ。
tpu/multislice/network/grpc_tcp_delivery_rates ベータ版  (プロジェクト)
gRPC TCP 配信率
CUMULATIVE、DISTRIBUTION、Mb/s
gce_instance
TCP 接続のデータ転送速度の累積分布。各サンプルは、過去の TCP ACK 間隔における特定の TCP 接続の最新の平均データ転送レートです。データ転送レートのサンプルは、Linux TCP カーネルから 20 秒ごとに取得されるため、TCP 接続ごとに 60 秒間隔で約 3 つのサンプルが作成されることが予想されます。
tpu/multislice/network/grpc_tcp_min_round_trip_times ベータ版  (プロジェクト)
gRPC TCP の最小ラウンド トリップ時間
CUMULATIVE、DISTRIBUTION、us
gce_instance
TCP 接続あたりの最小ネットワーク転送レイテンシの累積分布。
tpu/multislice/network/grpc_tcp_packets_retransmitted_count ベータ版  (プロジェクト)
gRPC TCP パケットの再送信数
CUMULATIVE、INT64、1
gce_instance
再送信されたパケットの合計数。
tpu/multislice/network/grpc_tcp_packets_sent_count ベータ版  (プロジェクト)
gRPC TCP パケットの送信数
CUMULATIVE、INT64、1
gce_instance
TCP が送信するパケットの合計数。
instance/tpu/accelerator/core_temperature ベータ版  (プロジェクト)
コア温度
GAUGE、DOUBLE、Cel
gce_instance
TPU のコア温度。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
instance/tpu/accelerator/core_throttling_indicator ベータ版  (プロジェクト)
コア スロットリング インジケーター
GAUGE、DOUBLE、1
gce_instance
1 秒あたりにスキップされたクロック サイクル数を、TPU コアあたりの合計クロック サイクル数で割った値。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
instance/tpu/accelerator/hbm_power_draw ベータ版  (プロジェクト)
HBM 消費電力
GAUGE、DOUBLE、W
gce_instance
HBM モジュールの電力の合計(ワット単位)。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
instance/tpu/accelerator/hbm_temperature ベータ版  (プロジェクト)
HBM 温度
GAUGE、DOUBLE、Cel
gce_instance
TPU の高帯域幅メモリ(HBM)の温度。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
hbm_id: 高帯域幅メモリ(HBM)モジュールの識別子。通常は、hbm_0 などの上位の値のみが含まれます。
instance/tpu/accelerator/hbm_uncorrectable_count ベータ版  (プロジェクト)
HBM 訂正不可数
CUMULATIVE、INT64、1
gce_instance
HBM での訂正不能なエラーの数(致命的)。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
instance/tpu/accelerator/mxu_temperature ベータ版  (プロジェクト)
MXU 温度
GAUGE、DOUBLE、Cel
gce_instance
TPU の行列乗算ユニット(MXU)の温度。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
die_id: アクセラレータのスロット インデックス。通常は上位の値のみを持ちます(例: die_0)。
GAUGE、INT64、1
gce_instance
ICI リンクでアップ状態とダウン状態の間でステータスが切り替わる頻度。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
GAUGE、INT64、1
gce_instance
ICI リンクの健全性を表す数値指標(0 ~ 10)。値が大きいほど、リンクの不安定さが増していることを示します。軽微な一時的なフラッピング(1 ~ 5)から、パフォーマンスの低下が継続している状態(6 ~ 9)まであります。値 10 は、アクティブなワークロードを自動的に削除する致命的なリンク障害を表します。
port_id: ポート ID。
instance/tpu/accelerator/network/ici_packets_received_count ベータ版  (プロジェクト)
受信した ICI パケット数
CUMULATIVE、INT64、1
gce_instance
TPU アクセラレータがチップ間相互接続(ICI)リンクを介して受信したパケットの合計数。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
instance/tpu/accelerator/network/ici_packets_sent_count ベータ版  (プロジェクト)
送信された ICI パケット数
CUMULATIVE、INT64、1
gce_instance
TPU アクセラレータがチップ間相互接続(ICI)リンクを介して送信したパケットの合計数。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
instance/tpu/accelerator/pcie_fatal_error_count ベータ版  (プロジェクト)
PCIe 致命的エラー数
CUMULATIVE、INT64、1
gce_instance
PCIe インターフェースで発生した致命的な PCIe エラーの数。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
instance/tpu/accelerator/pcie_nonfatal_error_count ベータ版  (プロジェクト)
PCIe の非致命的エラー数
CUMULATIVE、INT64、1
gce_instance
PCIe インターフェースで発生した非致命的な PCIe エラーの数。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
instance/tpu/accelerator/power_draw ベータ版  (プロジェクト)
消費電力
GAUGE、DOUBLE、W
gce_instance
アクセラレータの消費電力(ワット単位)。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
instance/tpu/accelerator/tray_power ベータ版  (プロジェクト)
トレイの電力
GAUGE、DOUBLE、W
gce_instance
TPU トレイで消費される合計電力。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
instance/tpu/accelerator/tray_temperature ベータ版  (プロジェクト)
トレイの温度
GAUGE、DOUBLE、Cel
gce_instance
TPU のトレイ温度。
accelerator_id: アクセラレータのデバイス ID。有効な値は 0、1、2、3 です。
instance/tpu/failure_prediction_status ベータ版  (プロジェクト)
TPU のパフォーマンス低下のステータス
GAUGE、INT64、1
gce_instance
この指標は、Google の独自のアルゴリズムによって予測された、今後 5 時間以内に TPU マシンがパフォーマンス低下状態になる確率を示します。この指標の値ラベルは、NO_DEGRADATION_PREDICTED、DEGRADATION_PREDICTED、POSSIBLE_DEGRADATION_PREDICTED です。60 秒ごとにサンプリングされます。サンプリング後、データは最長 540 秒間表示されません。
cluster_id: VM をホストするクラスタの難読化されたクラスタ ID。
block_id: VM をホストするクラスタ内の難読化されたブロック ID。
subblock_id: VM をホストしている難読化されたサブブロック ID。
machine_id: VM をホストする難読化されたマシン名。
reservation_id: 予約 ID。
Value: 独自のアルゴリズムで予測された、次の 5 時間以内に TPU マシンがパフォーマンス低下状態になる可能性。有効な値は「NO_DEGRADATION_PREDICTED」、「DEGRADATION_PREDICTED」、「POSSIBLE_DEGRADATION_PREDICTED」です。
tpu/capacity/available_chips ベータ版  (プロジェクト)
使用可能な TPU チップ数
GAUGE、INT64、1
compute.googleapis.com/Location
使用可能な TPU チップの現在の数。
accelerator_type: アクセラレータのタイプと世代。
reservation_id: 物理マシンの予約の ID。
provisioning_model: 関連付けられたプロビジョニング モデル。
protection_tier: 関連付けられた保護モデル。
is_exr: TPU チップが拡張予約の一部であるかどうかを示します。
tpu/capacity/committed_chips ベータ版  (プロジェクト)
購入した TPU チップの数
GAUGE、INT64、1
compute.googleapis.com/Location
購入済みの TPU チップの現在の数。
accelerator_type: アクセラレータのタイプと世代。
reservation_id: 物理マシンの予約の ID。
provisioning_model: 関連付けられたプロビジョニング モデル。
protection_tier: 関連付けられた保護モデル。
is_exr: TPU チップが拡張予約の一部であるかどうかを示します。
tpu/network/nic_packets_dropped_count_rx ベータ版  (プロジェクト)
NIC パケット ドロップ数(受信)
CUMULATIVE、INT64、1
gce_instance
ホスト NIC によって破棄された受信または送信パケットの合計数(RX)。
nic_id: Nic ID。
tpu/network/nic_packets_dropped_count_tx ベータ版  (プロジェクト)
NIC パケット ドロップ数(Tx)
CUMULATIVE、INT64、1
gce_instance
ホスト NIC によって破棄された送受信パケットの合計数(TX)。
nic_id: Nic ID。
tpu/network/nic_packets_received_count ベータ版  (プロジェクト)
NIC 受信パケット数
CUMULATIVE、INT64、1
gce_instance
NIC が受信したパケットの合計数。
nic_id: Nic ID。
tpu/network/nic_packets_sent_count ベータ版  (プロジェクト)
NIC 送信パケット数
CUMULATIVE、INT64、1
gce_instance
NIC によって送信されたパケットの合計数。
nic_id: Nic ID。

アルファ版

指標タイプリリース ステージ (リソース階層レベル)
表示名
種類、タイプ、単位
モニタリング対象リソース
説明
ラベル
quota/tpus_per_tpu_family/exceeded アルファ版  (プロジェクト)
TPU ファミリーあたりの TPU 数。割り当て超過エラー
DELTA、INT64、1
compute.googleapis.com/Location
割り当て指標 compute.googleapis.com/tpus_per_tpu_family の上限超過の試行回数。サンプリング後、データは最長 150 秒間表示されません。
limit_name: 上限名。
tpu_family: TPU ファミリーのカスタム ディメンション。
quota/tpus_per_tpu_family/limit アルファ版  (プロジェクト)
TPU ファミリーあたりの TPU 数。割り当て上限
GAUGE、INT64、1
compute.googleapis.com/Location
割り当て指標 compute.googleapis.com/tpus_per_tpu_family の現在の上限。60 秒ごとにサンプリングされます。サンプリング後、データは最長 150 秒間表示されません。
limit_name: 上限名。
tpu_family: TPU ファミリーのカスタム ディメンション。
quota/tpus_per_tpu_family/usage アルファ版  (プロジェクト)
TPU ファミリーあたりの TPU 数。割り当て使用量
GAUGE、INT64、1
compute.googleapis.com/Location
割り当て指標 compute.googleapis.com/tpus_per_tpu_family の現在の使用量。サンプリング後、データは最長 150 秒間表示されません。
limit_name: 上限名。
tpu_family: TPU ファミリーのカスタム ディメンション。

AI テレメトリー コレクタ

AI Telemetry Collector は、Compute Engine API を使用して作成された TPU の compute.googleapis.com 名前空間で TPU 指標を収集して公開します。これらの指標は組み込みのシステム指標であり、健全性とパフォーマンスを可視化します。

AI Telemetry Collector アーキテクチャは、軽量で特殊な OpenTelemetry(OTEL)Collector として設計されています。このシステムでは、主に 2 つのレシーバを使用してデータをキャプチャします。

  • TPU ランタイム レシーバ: ML ワークロードがアクティブなときに、ランタイムとワークロードの指標(デューティ サイクルやメモリ使用量など)を TPU ランタイムから直接スクレイピングします。
  • TPU ホスト レシーバ: ワークロードが実行されているかどうかに関係なく、TensorCore 使用率やメモリ帯域幅使用率などのハードウェア使用率指標をデバイスから直接取得します。

AI テレメトリー コレクタは、プロセッサを使用して必要なリソースタグ(project_id、instance_id、zone など)を自動的に適用し、テレメトリーを Cloud Monitoring に直接安全にエクスポートします。

AI テレメトリー コレクタは、Google の TPU 最適化 Ubuntu LTS イメージにプリインストールされており、VM の起動時に自動的に実行されます。この設定を使用するには、TPU VM インスタンスまたはインスタンス テンプレートを作成するときに、Google の公式アクセラレータ イメージ プロジェクトとファミリーを指定します。VM が起動すると、AI テレメトリー コレクタが指標を Cloud Monitoring ダッシュボードに自動的に送信します。

カスタム オペレーティング システム イメージをビルドする場合は、ai-telemetry-collector Docker イメージをインストールして実行した後、AI テレメトリー コレクタを使用できます。詳細については、カスタム OS イメージを使用するをご覧ください。

構成

AI テレメトリー コレクタは、指標を Cloud Monitoring ダッシュボードに自動的に送信するため、追加の構成手順は必要ありません。ただし、Snap パッケージまたは Docker イメージを構成して、外部エクスポート先を追加したり、指標収集間隔を変更したり、デバッグ オプションを含めたりすることはできます。

デフォルトの構成を新しい構成ファイルに置き換えるか、既存のデフォルトの構成に追加の構成ファイルを追加できます。構成を追加すると、まだ存在しないキーは追加され、すでに存在するキーは上書きされます。ただし、配列とリストは加法的ではないため、新しいリストには既存の値と新しい値の両方を含める必要があります。

次の YAML ファイルは、オープンソースのシステム モニタリングとアラート ツールキットである Prometheus に指標を送信するように AI Telemetry Collector を構成します。また、デバッグ オプションも有効になり、コンソール内に指標が出力されます。

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

Google の TPU 最適化 Ubuntu LTS イメージを使用している場合は、次の Snap コマンドを実行して、新しい構成ファイルを既存の構成に追加します。

sudo snap set \
  ai-telemetry-collector \
  extra-flags="--config /home/username/additional-config.yaml"

既存の構成を上書きして置き換える場合は、extra-flags ではなく config-path フラグを使用します。

sudo snap set \
  ai-telemetry-collector \
  config-path="/home/username/new-config.yaml"

snap set コマンドは、AI テレメトリー コレクタの自動再起動をトリガーします。コレクタが再起動し、構成が正常に適用されたことを確認するには、次のコマンドを使用してログを表示します。

sudo snap logs -f ai-telemetry-collector

カスタム OS

カスタム OS を使用している場合は、次の Docker コマンドを実行して、新しい構成ファイルを既存の構成に追加します。

# 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

既存の構成を上書きして置き換える場合は、次の Docker コマンドを使用します。

# 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

監査ログ

Google Cloud サービスは、 Google Cloud リソース内の管理アクティビティとアクセス アクティビティを記録する監査ログを生成します。詳細については、 Compute Engine の監査ロギングをご覧ください。