Memantau Node Cloud TPU
Panduan ini menjelaskan cara menggunakan Google Cloud Monitoring untuk memantau Node Cloud TPU. Google Cloud Monitoring otomatis mengumpulkan metrics dan log dari Cloud TPU Anda dan Compute Engine host-nya. Data ini dapat digunakan untuk memantau kondisi Cloud TPU dan Compute Engine Anda.
Metrik memungkinkan Anda melacak kuantitas numerik dari waktu ke waktu, misalnya pemakaian CPU, penggunaan jaringan, atau pemakaian MXU. Log menangkap peristiwa pada waktu tertentu. Entri log ditulis oleh kode Anda sendiri, layanan Google Cloud, aplikasi pihak ketiga, dan infrastruktur Google Cloud. Anda juga dapat menghasilkan metrik dari data yang ada dalam entri log dengan membuat metrik berbasis log. Anda juga dapat menetapkan kebijakan pemberitahuan berdasarkan nilai metrik atau entri log.
Panduan ini membahas Google Cloud Monitoring dan menunjukkan cara:
- Lihat metrik Cloud TPU
- Menyiapkan kebijakan pemberitahuan metrik Cloud TPU
- Membuat kueri log Cloud TPU
- Membuat metrik berbasis log untuk menyiapkan pemberitahuan dan memvisualisasikan dasbor.
Prasyarat
Dokumen ini mengasumsikan beberapa pengetahuan dasar tentang Google Cloud Monitoring. Anda harus membuat resource VM Compute Engine dan Cloud TPU sebelum dapat mulai membuat dan menggunakan Google Cloud Monitoring. Lihat Panduan Memulai Cloud TPU untuk mengetahui detail selengkapnya.
Metrik
Metrik Google Cloud dihasilkan secara otomatis oleh VM Compute Engine dan runtime Cloud Cloud TPU. Metrik berikut dibuat oleh Cloud TPU Node:
cpu/utilization
memory/usage
network/received_bytes_count
network/sent_bytes_count
tpu/mxu/utilization
tpu/tensorcore/idle_duration
CPU utilization
Metrik cpu/utilization
melacak pemakaian CPU saat ini pada pekerja Cloud TPU, yang diwakili sebagai persentase. Nilai biasanya antara 0,0 dan 100,0, tetapi
mungkin melebihi 100,0. Dibuat sampelnya setiap 60 detik. Perlu waktu hingga 180 detik
antara waktu pembuatan nilai dan saat nilai ditampilkan.
Penggunaan memori
Metrik memory/usage
melacak memori yang saat ini digunakan oleh VM Cloud TPU dalam byte. Metrik ini diambil sampelnya setiap 60 detik. Perlu waktu hingga 180 detik
antara waktu pembuatan nilai dan saat nilai ditampilkan.
Jumlah byte yang diterima jaringan
Metrik network/received_bytes_count
melacak jumlah byte kumulatif
data yang diterima VM Cloud TPU melalui jaringan pada satu waktu. Mungkin perlu waktu hingga
180 detik antara waktu pembuatan nilai dan saat nilai ditampilkan.
Jumlah byte yang dikirim jaringan
Metrik network/sent_bytes_count
melacak jumlah byte kumulatif yang dikirim VM Cloud TPU melalui jaringan pada satu waktu. Perlu waktu hingga 180 detik
antara waktu pembuatan nilai dan saat nilai ditampilkan.
Durasi tidak ada aktivitas TensorCore
Metrik tpu/tensorcore/idle_duration
melacak jumlah detik setiap TensorCore chip TPU tidak aktif. Metrik ini tersedia untuk setiap chip di semua
TPU yang digunakan. Jika TensorCore sedang digunakan, nilai durasi tidak ada aktivitas akan direset ke nol. Saat TensorCore tidak lagi digunakan, nilai durasi tidak ada aktivitas akan mulai meningkat.
Grafik berikut menunjukkan metrik tpu/tensorcore/idle_duration
untuk VM Cloud TPU v2-8 yang memiliki satu pekerja. Setiap pekerja memiliki empat chip. Dalam contoh ini, keempat chip
memiliki nilai yang sama untuk tpu/tensorcore/idle_duration
, sehingga grafiknya
ditumpangkan satu sama lain.
Pemanfaatan MXU
Metrik tpu/mxu/utilization
melacak pemakaian MXU saat ini pada pekerja TPU, yang ditampilkan sebagai persentase. Nilai biasanya berupa angka antara 0,0
dan 100,0. Dibuat sampelnya setiap 60 detik. Setelah pengambilan sampel, data tidak akan terlihat selama maksimal 180 detik.
Untuk mengetahui daftar lengkap metrik yang dihasilkan oleh Cloud TPU, lihat Metrik Cloud TPU.
Melihat metrik
Anda dapat melihat metrik menggunakan Metrics Explorer di Konsol Google Cloud.
Di Metrics Explorer, klik PILIH METRIK, lalu telusuri Cloud TPU Worker
. Jika Hanya tampilkan resource dan metrik aktif aktif, hanya metrik yang sedang dibuat yang akan ditampilkan. Klik Cloud TPU Worker untuk menampilkan metrik yang tersedia.
Anda juga dapat mengakses metrik menggunakan panggilan HTTP curl:
Gunakan tombol Coba! di dokumentasi project.timeSeries.query untuk mengambil nilai metrik dalam jangka waktu yang ditentukan.
- Isi nama dalam format berikut: projects/{project-name}
- Tambahkan kueri ke bagian Isi permintaan. Berikut adalah contoh kueri untuk mengambil metrik durasi tidak ada aktivitas untuk zona yang ditentukan selama 5 menit terakhir
fetch tpu_worker | filter zone = 'us-central2-b' | metric tpu.googleapis.com/tpu/tensorcore/idle_duration | within 5m"
- Klik Execute untuk mengambil hasil pesan HTTP POST
Dokumen Referensi Bahasa Kueri Monitoring memiliki informasi selengkapnya tentang cara menyesuaikan kueri ini.
Anda dapat membuat kebijakan pemberitahuan yang memberi tahu Google Cloud Monitoring untuk mengirim pemberitahuan saat kondisi terpenuhi.
Membuat pemberitahuan
Langkah-langkah di bagian ini menunjukkan contoh cara menambahkan kebijakan pemberitahuan untuk metrik TensorCore Idle Duration. Setiap kali metrik ini melebihi 24 jam, Cloud Monitoring akan mengirim email ke alamat email yang terdaftar.
- Buka konsol Monitoring
- Di panel navigasi, klik Alerting
- Klik EDIT CHANNEL NOTIFIKASI
- Di bagian Email, klik TAMBAHKAN BARU
- Ketik alamat email dan nama tampilan, lalu klik SIMPAN
- Klik CREATE POLICY
- Klik PILIH METRIK, pilih Tensorcore Idle Duration, lalu klik TERAPKAN
- Klik BERIKUTNYA lalu Nilai Minimum
- Untuk Alert trigger, pilih Any time series violations
- Untuk Threshold Position, pilih Above threshold.
- Untuk Nilai Minimum, ketik
86400000
- Klik BERIKUTNYA
- Di bagian Notification Channels, pilih saluran notifikasi email Anda, lalu klik OK
- Ketik nama untuk kebijakan pemberitahuan
- Klik BERIKUTNYA lalu BUAT KEBIJAKAN
Saat TensorCore Idle Duration melebihi 24 jam, email akan dikirim ke alamat email yang Anda tentukan.
Logging
Entri log ditulis oleh layanan Google Cloud, layanan pihak ketiga, framework ML, atau kode Anda. Anda dapat melihat log menggunakan Logs Viewer atau Logs API. Untuk mengetahui informasi selengkapnya tentang logging Google Cloud, lihat Google Cloud Logging.
Di Logs Explorer, Anda dapat memilih jenis resource:
- Pekerja Cloud TPU -> Zona -> ID Node
- Resource yang Diaudit -> Cloud TPU -> API (
google.cloud.tpu.v1.Tpu.CreateNode
,google.cloud.tpu.v1.Tpu.DeleteNode
,google.cloud.tpu.v1.Tpu.UpdateNode
)
Log Cloud TPU Worker berisi informasi tentang pekerja Cloud TPU tertentu di zona tertentu, misalnya jumlah memori yang tersedia pada worker Cloud TPU (system_available_memory_GiB
).
Log Resource yang Diaudit berisi informasi tentang kapan Cloud TPU API tertentu dipanggil dan siapa yang melakukan panggilan. Misalnya CreateNode
,
UpdateNode
, dan DeleteNode
.
Framework ML dapat menghasilkan log ke stdout
dan stderr
. Log ini dikontrol oleh variabel lingkungan dan dibaca oleh skrip pelatihan Anda.
Kode Anda dapat menulis log ke Google Cloud Logging. Untuk mengetahui informasi selengkapnya, lihat Menulis log standar dan Menulis log terstruktur.
Melihat log Cloud TPU
- Buka Google Cloud Logs Viewer
- Klik drop-down Resource
- Klik Cloud TPU Worker
- Pilih zona
- Pilih Cloud TPU yang Anda minati
- Klik Apply. Log ditampilkan di hasil kueri
Untuk melihat log Resource yang Diaudit:
- Buka Google Cloud Logs Viewer
- Klik drop-down Resource
- Klik Audited Resource, lalu Cloud TPU
- Pilih Cloud TPU API yang Anda minati
- Klik Apply. Log ditampilkan di hasil kueri
- Pilih API yang diawali dengan
google.cloud.tpu.v1.Tpu
Membuat Kueri Log Google Cloud
Saat Anda melihat log di Konsol Google Cloud, halaman tersebut menjalankan kueri default.
Anda dapat melihat kueri dengan memilih tombol Show query
. Anda dapat mengubah kueri default atau membuat yang baru. Untuk mengetahui informasi selengkapnya, lihat
Membuat Kueri di Logs Explorer.
Memahami output log untuk log Resource yang Diaudit
Klik entri log mana pun untuk meluaskannya, dan Anda akan menemukan kolom bernama protoPayload
.
Luaskan protoPayload
dan Anda akan melihat sejumlah subkolom:
- logName: nama log
- protoPayload -> @type: jenis log
- resourceName: nama Cloud TPU Anda
- methodName: nama metode yang dipanggil (khusus log audit)
- request -> @type: jenis permintaan
- request -> node: detail tentang node Cloud TPU
- request -> node_id: nama TPU
- severity: tingkat keparahan log
Memahami output log untuk log Cloud TPU Worker
Klik entri log mana pun untuk meluaskannya, dan Anda akan menemukan kolom bernama jsonPayload
.
Luaskan jsonPayload
dan Anda akan melihat sejumlah subkolom:
- accelerator_type: jenis akselerator
- consumer_project: project tempat Cloud TPU berada
- evententry_timestamp: waktu saat log dibuat
- system_available_memory_GiB: memori yang tersedia pada pekerja Cloud TPU (0~350 GB)
Membuat metrik berbasis log
Bagian ini menjelaskan cara membuat metrik berbasis log yang digunakan untuk menyiapkan dasbor dan pemberitahuan pemantauan. Untuk mengetahui informasi tentang cara membuat metrik berbasis log secara terprogram, baca Membuat metrik berbasis log secara terprogram menggunakan Cloud Logging REST API.
Contoh berikut menggunakan subkolom system_available_memory_GiB untuk menunjukkan cara membuat metrik berbasis log untuk memantau memori yang tersedia pekerja Cloud TPU.
- Buka Logs Explorer
Di kotak kueri, masukkan kueri berikut untuk mengekstrak semua entri log dengan system_available_memory_GiB yang ditentukan untuk pekerja Cloud TPU utama:
resource.type=tpu_worker resource.labels.project_id=your-project resource.labels.zone=your-tpu-zone resource.labels.node_id=your-tpu-name resource.labels.worker_id=0 logName=projects/your-project/logs/tpu.googleapis.com%2Fruntime_monitor jsonPayload.system_available_memory_GiB:*
Klik Create metric untuk menampilkan Metric Editor
Di bagian Jenis Metrik, pilih Distribusi
Ketik nama, deskripsi opsional, dan satuan ukur untuk metrik Anda. masukkan "matrix_unit_utilization_percent" dan "MXU utilization" di kolom Name dan Description, masing-masing
Filter sudah diisi sebelumnya dengan skrip yang Anda masukkan di Logs Explorer
Klik BUAT METRIK
Klik Jelajahi Metrik untuk melihat metrik baru Anda. Mungkin perlu waktu beberapa menit sebelum metrik Anda ditampilkan
Membuat metrik berbasis log secara terprogram menggunakan Cloud Logging REST API
Anda juga dapat membuat metrik berbasis log melalui Cloud Logging API. Untuk informasi selengkapnya, lihat Membuat metrik distribusi.
Membuat dasbor dan pemberitahuan menggunakan metrik berbasis log
Dasbor berguna untuk memvisualisasikan metrik (harapan penundaan ~2 menit); pemberitahuan berguna untuk mengirimkan notifikasi saat terjadi error. Untuk mengetahui informasi selengkapnya, lihat Mengelola dasbor kustom dan Membuat kebijakan pemberitahuan berbasis metrik.
Membuat dasbor
Untuk membuat dasbor di Cloud Monitoring untuk metrik durasi tidak ada aktivitas Tensorcore:
- Buka konsol Monitoring
- Di panel navigasi, klik Dashboard
- Klik CREATE DASBOR lalu Add Chart
- Pilih jenis diagram yang ingin Anda tambahkan. Untuk contoh ini, pilih Line
- Ketik judul untuk dasbor
- Klik tombol di bawah Resource & Metric
- Scroll ke bawah daftar resource/metrik dan pilih Cloud TPU Worker -> Tpu -> Tensorcore idle duration
- Klik Terapkan
- Untuk memfilter konten dasbor, klik BUAT FILTER DASBOR
- Di kolom Label, tetapkan project_id ke project Anda
- Klik ADD, lalu tetapkan zone ke zona tempat TPU Anda dibuat
- Tambahkan filter lain untuk node_id dan tentukan nama Cloud TPU Anda