Memantau kondisi Cloud TPU
Pemantauan kondisi Cloud TPU memberikan informasi real-time tentang status kondisi VM dan slice TPU. Dengan menggunakan konsol Cloud Monitoring atau Google Cloud CLI, Anda dapat mengidentifikasi kegagalan hardware saat terjadi dan mengalokasikan ulang resource, sehingga menghindari kegagalan tugas dan meminimalkan penurunan performa.
Pemantauan kondisi TPU menetapkan status HEALTHY atau UNHEALTHY ke setiap
instance TPU yang digunakan. TPU yang berfungsi seperti yang diharapkan akan diberi HEALTHY
status, dan TPU yang tidak lagi berfungsi atau beroperasi pada tingkat yang sangat
berkurang akan diberi status UNHEALTHY.
Selain status kondisi, pemantauan kondisi TPU juga menyediakan metrik logging untuk tugas tertentu. Anda dapat menggunakan metrik ini untuk mendiagnosis lebih lanjut masalah kondisi dan performa TPU yang tidak disebabkan oleh masalah hardware.
Deteksi TPU yang tidak responsif
Saat pemantauan kondisi TPU menetapkan status UNHEALTHY ke TPU, pemantauan akan memberikan informasi identifikasi TPU yang gagal melalui endpoint layanan compute.googleapis.com/instance/tpu/infra_health.
Penyebab status kondisi TPU
Mesin dikategorikan sebagai UNHEALTHY jika ada masalah dengan hardware fisik. Jika mesin dikategorikan sebagai UNHEALTHY, pemantauan kondisi TPU akan memberikan salah satu penyebab berikut:
BAD_TPU_CHIP: Kegagalan fisik dalam hardware TPU itu sendiri. VM mungkin berjalan sesuai harapan, tetapi TPU yang terhubung ke VM rusak.NETWORKING_ISSUE: Masalah hardware dalam komunikasi jaringan yang mendasar antara pekerja atau komponen sistem TPU terdistribusi yang berbeda, seperti Remote Procedure Call (RPC) transfer yang dihentikan.BAD_SC_CHIP: Kegagalan fisik dalam SparseCore chip TPU.
Label metrik
Pemantauan kondisi TPU menyediakan label metrik berikut untuk mengidentifikasi TPU tertentu yang tidak responsif:
| Nama label | Jenis | Deskripsi |
|---|---|---|
health_status |
STRING |
Status kondisi keseluruhan instance TPU. |
unhealthy_category |
STRING |
Penyebab status kondisi. Label ini hanya diisi jika nilai metriknya adalah UNHEALTHY. |
machine_type |
STRING |
Jenis mesin Compute Engine dari instance. |
reservation_id |
STRING |
ID pemesanan mesin fisik. |
Pemantauan kondisi TPU juga menyediakan label resource berikut:
| Nama label | Jenis | Deskripsi |
|---|---|---|
project |
STRING |
Nomor project. |
service |
STRING |
Layanan API (compute.googleapis.com). |
resource_type |
STRING |
Instance VM. |
location |
STRING |
Zona instance. |
resource_id |
STRING |
ID instance Compute Engine. |
Pemantauan kondisi TPU menyediakan label metrik tambahan berikut untuk pemesanan mode Semua Kapasitas melalui TPU Cluster Director:
| Nama label | Jenis | Deskripsi |
|---|---|---|
machine_id |
STRING |
ID mesin fisik yang menghosting VM. |
block_id |
STRING |
ID blok dalam cluster yang menghosting VM. |
cluster_id |
STRING |
ID cluster yang menghosting VM. |
subblock_id |
STRING |
ID sub-blok yang menghosting VM. |
Logging
Mesin tanpa masalah fisik apa pun mungkin terganggu atau tidak berfungsi karena masalah yang tidak terkait dengan hardware. Dalam kasus ini, pemantauan kondisi TPU terus mengategorikan mesin sebagai HEALTHY, tetapi juga mencatat kemungkinan penyebab masalah dengan Cloud Logging di project terkait. Log memberikan detail tentang masalah, termasuk deskripsi singkat, kemungkinan penyebab utama, kemungkinan penyebab, dan langkah-langkah berikutnya yang dapat ditindaklanjuti.
Log berisi salah satu penyebab berikut:
FINGERPRINT_MISMATCH: Program yang diharapkan menjalankan modul TPU yang sama berisi sidik jari biner yang berbeda. Hal ini kemungkinan disebabkan oleh ketidakkonsistenan yang disebabkan oleh masalah pengompilasi.DATA_INPUT_STALL: TPU macet selama operasi Direct Memory Access (DMA) atau transfer data. TPU tidak dapat melanjutkan hingga operasi DMA selesai.UNRECOVERABLE_ERROR: Satu atau beberapa pekerja mengalami error yang tidak dapat dipulihkan dan berada dalam status yang tidak ditentukan.DIFFERENT_MODULE: Pekerja menjalankan modul TPU yang berbeda saat mereka diharapkan menjalankan modul yang sama.UNKNOWN_CAUSE: Penyebab error yang tidak ditentukan.
Anda dapat melihat log menggunakan Logs Explorer atau Logs API. Untuk mengetahui informasi selengkapnya tentang Google Cloud logging, lihat Google Cloud Logging.
Memantau dengan konsol
Dasbor Monitoring di Google Cloud konsol menyediakan visualisasi real-time tentang status kondisi mesin, tren historis, dan jumlah total. Tabel Failure Event menautkan kegagalan tugas ke penyebab utamanya.
Untuk melihat dasbor bawaan di Cloud Monitoring:
- Di Google Cloud konsol, buka halaman Cloud Monitoring.
Buka konsol Monitoring - Di panel navigasi, klik Dashboards.
- Di kolom Filter search, masukkan "TPU Instance Health Dashboard".
Dasbor menampilkan metrik berikut secara default:
- Overall TPU instance health: Persentase instance TPU yang
dikategorikan sebagai
HEALTHY. - Number of instances: Jumlah total instance TPU yang digunakan.
- Jumlah instance TPU yang sehat: Jumlah total instance TPU
yang dikategorikan sebagai
HEALTHY. - Number of unhealthy TPU instances: Jumlah total instance TPU yang
dikategorikan sebagai
UNHEALTHY. - VM infra health distribution: Jumlah instance
HEALTHYdari waktu ke waktu.
Untuk menambahkan kueri kustom, klik Add Query dan tulis kueri PromQL. Misalnya, kueri berikut mengambil semua instance TPU yang tidak responsif:
count({__name__="compute.googleapis.com/instance/tpu/infra_health", monitored_resource="gce_instance", health_status="UNHEALTHY"})
Untuk mengetahui informasi selengkapnya tentang pemantauan dengan Google Cloud konsol, lihat dokumentasi Cloud Monitoring.
Memantau dengan CLI
Google Cloud CLI menyediakan data kondisi TPU real-time. Contoh permintaan berikut mengambil semua TPU UNHEALTHY:
export TOKEN=$(gcloud auth application-default print-access-token)
export PROMQL_QUERY='count({__name__="compute.googleapis.com/instance/tpu/infra_health", monitored_resource="gce_instance", health_status="UNHEALTHY"})'
export LOCATION="global"
curl -G \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
--header "X-Goog-User-Project: ${PROJECT_ID}" \
--data-urlencode "query=${PROMQL_QUERY}" \
"https://monitoring.googleapis.com/v1/projects/${PROJECT_ID}/location/${LOCATION}/prometheus/api/v1/query"
Anda akan melihat respons yang mirip dengan berikut ini:
{"status":"success","data":{"resultType":"vector","result":[65]}}
Untuk mengetahui informasi selengkapnya tentang gcloud CLI, lihat Ringkasan gcloud CLI.