Memantau Node Cloud TPU

Panduan ini menjelaskan cara menggunakan Google Cloud Monitoring untuk memantau Node Cloud TPU Anda. Google Cloud Monitoring secara otomatis mengumpulkan metrik dan log dari Cloud TPU 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, penggunaan CPU, penggunaan jaringan, atau penggunaan MXU. Log merekam peristiwa pada titik waktu tertentu. Entri log ditulis oleh kode, Google Cloud layanan, aplikasi pihak ketiga, dan Google Cloud infrastruktur Anda sendiri. Anda juga dapat membuat 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 Pemantauan dan menunjukkan cara:

  • Melihat metrik Cloud TPU
  • Menyiapkan kebijakan pemberitahuan metrik Cloud TPU
  • Mengkueri log Cloud TPU
  • Buat metrik berbasis log untuk menyiapkan pemberitahuan dan memvisualisasikan dasbor.

Prasyarat

Dokumen ini mengasumsikan beberapa pengetahuan dasar tentang Google Cloud Pemantauan. Anda harus memiliki resource VM Compute Engine dan Cloud TPU yang dibuat sebelum dapat mulai membuat dan menggunakan Google Cloud Pemantauan. Lihat Panduan Memulai Cloud TPU untuk mengetahui detail selengkapnya.

Metrik

MetrikGoogle Cloud dihasilkan secara otomatis oleh VM Compute Engine dan runtime Cloud TPU. Metrik berikut dihasilkan oleh TPU Node Cloud:

  • cpu/utilization
  • memory/usage
  • network/received_bytes_count
  • network/sent_bytes_count
  • tpu/mxu/utilization
  • tpu/tensorcore/idle_duration

Pemakaian CPU

Metrik cpu/utilization melacak penggunaan CPU saat ini pada pekerja Cloud TPU, yang dinyatakan sebagai persentase. Nilai biasanya antara 0,0 dan 100,0, tetapi mungkin melebihi 100,0. Dibuat sampelnya setiap 60 detik. Mungkin perlu waktu hingga 180 detik antara waktu nilai dibuat dan 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. Mungkin perlu waktu hingga 180 detik antara waktu nilai dibuat dan ditampilkan.

Jumlah byte yang diterima jaringan

Metrik network/received_bytes_count melacak jumlah byte kumulatif data yang diterima VM Cloud TPU melalui jaringan pada suatu waktu. Mungkin perlu waktu hingga 180 detik antara saat nilai dibuat dan saat ditampilkan.

Jumlah byte yang dikirim jaringan

Metrik network/sent_bytes_count melacak jumlah byte kumulatif yang dikirim VM Cloud TPU melalui jaringan pada suatu waktu. Mungkin perlu waktu hingga 180 detik antara waktu nilai dibuat dan ditampilkan.

Durasi tidak ada aktivitas TensorCore

Metrik tpu/tensorcore/idle_duration melacak jumlah detik setiap TensorCore chip TPU tidak ada aktivitas. 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 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 grafik tumpang-tindih satu sama lain.

gambar

Pemanfaatan MXU

Metrik tpu/mxu/utilization melacak penggunaan MXU saat ini pada pekerja TPU, yang dinyatakan 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 SELECT A METRIC dan telusuri Cloud TPU Worker. Jika Hanya tampilkan resource dan metrik aktif diaktifkan, hanya metrik yang saat ini dihasilkan 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 projects.timeSeries.query untuk mengambil nilai metrik dalam jangka waktu yang ditentukan.

  1. Isi nama dalam format berikut: projects/{project-name}
  2. 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"
  3. Klik Execute untuk mengambil hasil pesan POST HTTP

Dokumen Referensi Monitoring Query Language 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 Durasi Tidak Ada Aktivitas TensorCore. Setiap kali metrik ini melebihi 24 jam, Cloud Monitoring akan mengirim email ke alamat email terdaftar.

  1. Buka konsol Monitoring
  2. Di panel navigasi, klik Pemberitahuan
  3. Klik EDIT SALURAN NOTIFIKASI
  4. Di bagian Email, klik TAMBAHKAN BARU
  5. Ketik alamat email, nama tampilan, lalu klik SIMPAN
  6. Klik BUAT KEBIJAKAN
  7. Klik SELECT A METRIC, pilih Tensorcore Idle Duration, lalu klik APPLY
  8. Klik BERIKUTNYA, lalu Batas
  9. Untuk Pemicu pemberitahuan, pilih Deret waktu mana pun melanggar
  10. Untuk Threshold Position, pilih Above threshold
  11. Untuk Nilai Minimum, ketik 86400000
  12. Klik BERIKUTNYA
  13. Di bagian Notification Channels, pilih saluran notifikasi email Anda, lalu klik OK
  14. Ketik nama untuk kebijakan pemberitahuan
  15. Klik BERIKUTNYA, lalu BUAT KEBIJAKAN

Jika Durasi Tidak Ada Aktivitas TensorCore melebihi 24 jam, email akan dikirim ke alamat email yang Anda tentukan.

Logging

Entri log ditulis oleh Google Cloud layanan, layanan pihak ketiga, framework ML, atau kode Anda. Anda dapat melihat log menggunakan Logs Viewer atau Logs API. Untuk mengetahui informasi selengkapnya tentang Google Cloud logging, lihat Google Cloud Logging.

Di Logs Explorer, Anda dapat memilih jenis resource:

  • Cloud TPU Worker -> Zone -> Node ID
  • 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 di pekerja Cloud TPU (system_available_memory_GiB).

Log Resource yang Diaudit berisi informasi tentang kapan Cloud TPU API tertentu dipanggil dan siapa yang melakukan panggilan tersebut. 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 informasi selengkapnya, lihat Menulis log standar dan Menulis log terstruktur.

Melihat log Cloud TPU

  1. Buka Google Cloud Logs Viewer
  2. Klik drop-down Resource
  3. Klik Cloud TPU Worker
  4. Pilih zona
  5. Pilih Cloud TPU yang Anda minati
  6. Klik Terapkan. Log ditampilkan di hasil kueri

Untuk melihat log Resource yang Diaudit:

  1. Buka Google Cloud Logs Viewer
  2. Klik drop-down Resource
  3. Klik Audited Resource, lalu Cloud TPU
  4. Memilih Cloud TPU API yang Anda minati
  5. Klik Terapkan. Log ditampilkan di hasil kueri
  6. Pilih API yang diawali dengan google.cloud.tpu.v1.Tpu

Query Google Cloud Logs

Saat Anda melihat log di konsol Google Cloud , halaman akan menjalankan kueri default. Anda dapat melihat kueri dengan memilih tombol Show query. Anda dapat mengubah kueri default atau membuat kueri baru. Untuk 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 Pekerja Cloud TPU

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 pembuatan log
  • system_available_memory_GiB: memori yang tersedia di 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 informasi tentang cara membuat metrik berbasis log secara terprogram, lihat 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 pekerja Cloud TPU yang tersedia.

  1. Buka Logs Explorer
  2. Di kotak kueri, masukkan kueri berikut untuk mengekstrak semua entri log yang memiliki 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:*
    
  3. Klik Create metric untuk menampilkan Metric Editor

  4. Di bagian Metric Type, pilih Distribution

  5. Ketik nama, deskripsi opsional, dan satuan pengukuran untuk metrik Anda. masukkan "matrix_unit_utilization_percent" dan "MXU utilization" di kolom Name dan Description

  6. Filter diisi otomatis dengan skrip yang Anda masukkan di Logs Explorer

  7. Klik CREATE METRIC

  8. 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 mengetahui informasi selengkapnya, lihat Membuat metrik distribusi.

Membuat dasbor dan pemberitahuan menggunakan metrik berbasis log

Dasbor berguna untuk memvisualisasikan metrik (perkirakan keterlambatan ~2 menit); pemberitahuan berguna untuk mengirim notifikasi saat error terjadi. 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:

  1. Buka konsol Monitoring
  2. Di panel navigasi, klik Dasbor
  3. Klik BUAT DASBOR, lalu Tambahkan Diagram
  4. Pilih jenis diagram yang ingin Anda tambahkan. Untuk contoh ini, pilih Garis
  5. Ketik judul untuk dasbor
  6. Klik tombol di bawah Resource & Metric
  7. Scroll ke bawah daftar resource/metrik dan pilih Cloud TPU Worker -> Tpu -> Tensorcore idle duration
  8. Klik Terapkan
  9. Untuk memfilter konten dasbor, klik BUAT FILTER DASHBOARD
  10. Di kolom Label, tetapkan project_id ke project Anda
  11. Klik TAMBAHKAN dan tetapkan zona ke zona tempat Anda membuat TPU
  12. Tambahkan filter lain untuk node_id dan tentukan nama Cloud TPU Anda