Memantau VM Cloud TPU

Panduan ini menjelaskan cara menggunakan Google Cloud Monitoring untuk memantau VM 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.

Metrik memungkinkan Anda melacak kuantitas numerik dari waktu ke waktu, misalnya pemakaian CPU, penggunaan jaringan, atau durasi tidak ada aktivitas TensorCore. Log menangkap peristiwa pada titik 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:

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

Prasyarat

Dokumen ini mengasumsikan bahwa Anda memiliki pengetahuan dasar tentang Google Cloud Monitoring. Anda harus sudah 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 TPU. Metrik berikut dihasilkan oleh VM Cloud TPU:

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

Perlu waktu hingga 180 detik antara waktu nilai metrik dibuat dan saat nilai metrik ditampilkan di Metrics Explorer.

Untuk mengetahui informasi selengkapnya tentang metrik terkait TPU, lihat Metrik TPU.

Penggunaan memori

Metrik memory/usage melacak memori yang digunakan oleh VM TPU dalam byte. Metrik ini diambil sampelnya setiap 60 detik.

Jumlah byte yang diterima jaringan

Metrik network/received_bytes_count melacak jumlah byte kumulatif data yang diterima VM TPU melalui jaringan pada satu waktu tertentu.

Jumlah byte yang dikirim jaringan

Metrik network/sent_bytes_count melacak jumlah byte kumulatif yang dikirim VM TPU melalui jaringan pada satu waktu tertentu.

CPU utilization

Metrik cpu/utilization melacak pemakaian CPU saat ini pada pekerja TPU, yang diwakili sebagai persentase, yang diambil sampelnya satu kali dalam satu menit. Nilai biasanya antara 0,0 dan 100,0, tetapi mungkin melebihi 100,0.

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 akan mulai meningkat.

Grafik berikut menunjukkan metrik tpu/tensorcore/idle_duration untuk VM 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 saling tumpang tindih.

gambar

Untuk mengetahui daftar lengkap metrik yang dihasilkan oleh Cloud TPU, lihat Metrik Google Cloud Cloud TPU.

Melihat metrik

Anda dapat menampilkan metrik menggunakan Metrics Explorer di Konsol Google Cloud.

Di Metrics Explorer, klik PILIH METRIK, lalu telusuri TPU Worker. Jika Show only active resources and metrics aktif, hanya metrik dari resource aktif yang ditampilkan. Klik TPU Worker untuk menampilkan semua metrik yang tersedia.

Anda juga dapat mengakses metrik menggunakan panggilan HTTP curl:

Gunakan tombol Try it! dalam dokumentasiprojects.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 lima menit terakhir. fetch tpu_worker | filter zone = 'us-central2-b' | metric tpu.googleapis.com/tpu/tensorcore/idle_duration | within 5m
  3. Klik Execute untuk melakukan panggilan dan melihat 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 Cloud Monitoring untuk mengirim pemberitahuan jika 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.

  1. Buka konsol Monitoring.
  2. Di panel navigasi, klik Alerting.
  3. Klik EDIT CHANNEL NOTIFIKASI.
  4. Di bagian Email, klik TAMBAHKAN BARU. Ketik alamat email dan nama tampilan, lalu klik SIMPAN.
  5. Klik CREATE POLICY.
  6. Klik PILIH METRIK, lalu pilih Tensorcore Idle Duration dan klik TERAPKAN.
  7. Klik BERIKUTNYA lalu Nilai minimum.
  8. Untuk Alert trigger, pilih Any time series violations.
  9. Untuk Threshold Position, pilih Above threshold.
  10. Untuk Threshold Value, ketik 86400000.
  11. Klik BERIKUTNYA.
  12. Di bagian Notification Channels, pilih saluran notifikasi email, lalu klik OK.
  13. Ketik nama untuk kebijakan pemberitahuan.
  14. 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 layanan Google Cloud, layanan pihak ketiga, framework ML, atau kode Anda. Anda dapat melihat log menggunakan Logs Explorer atau Logs API. Untuk informasi lebih lanjut tentang logging Google Cloud, lihat Google Cloud Logging.

Di Logs Explorer, pilih jenis resource:

  • Pekerja Cloud TPU -> Zona -> ID Node
  • Resource yang Diaudit -> Cloud TPU -> API (google.cloud.tpu.v2alpha1.Tpu.CreateNode, google.cloud.tpu.v2alpha1.Tpu.DeleteNode, google.cloud.tpu.v2alpha1.Tpu.UpdateNode)

Log pekerja Cloud TPU berisi informasi tentang worker 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 {i>stdout<i} dan {i>stderr<i}. 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.

Untuk 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 Apply. Log ditampilkan dalam hasil kueri

Untuk melihat log Resource yang Diaudit:

  1. Buka Google Cloud Logs Viewer
  2. Klik drop-down Resource
  3. Klik Resource yang Diaudit, lalu Cloud TPU
  4. Pilih Cloud TPU API yang Anda minati
  5. Klik Apply. Log ditampilkan dalam hasil kueri
  6. Pilih API yang diawali dengan google.cloud.tpu.v2alpha1.Tpu

Membuat Kueri Log Google Cloud

Saat Anda melihat log di konsol Google Cloud, halaman ini menjalankan kueri default. Anda dapat melihat kueri dengan memilih tombol Show query. Anda dapat mengubah kueri default atau membuat kueri default. Untuk mengetahui informasi selengkapnya, lihat Membuat Kueri di Logs Explorer.

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 (hanya log audit)
  • request -> @type: jenis permintaan
  • request -> node: detail tentang node Cloud TPU
  • request -> node_id: nama TPU
  • severity: tingkat keparahan log

Log 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 GiB)

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, lihat Membuat metrik berbasis log secara terprogram menggunakan Cloud Logging REST API.

Contoh berikut menggunakan subkolom system_available_memory_GiB guna menunjukkan cara membuat metrik berbasis log untuk memantau memori yang tersedia bagi pekerja Cloud TPU.

  1. Membuka Logs Explorer
  2. Dalam kotak kueri, masukkan kueri berikut untuk mengekstrak semua entri log dengan system_available_memory_GiB yang ditetapkan 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 ukur untuk metrik Anda. Ketik "matrix_unit_utilization_percent" dan "MXU utilization" di kolom Name dan Description masing-masing

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

  7. Klik BUAT METRIK

  8. Klik Jelajahi Metrik untuk melihat metrik baru. Mungkin perlu waktu beberapa menit sebelum metrik Anda ditampilkan

Membuat metrik berbasis log dengan 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 (penundaan ~2 menit); pemberitahuan berguna untuk mengirim notifikasi saat terjadi error. Untuk informasi selengkapnya, lihat:

Membuat dasbor

Cara membuat dasbor di Cloud Monitoring untuk metrik durasi tidak ada aktivitas Tensorcore:

  1. Buka konsol Monitoring
  2. Di panel navigasi, klik Dashboards
  3. Klik CREATE DASBOR lalu Add Widget
  4. Pilih jenis diagram yang ingin Anda tambahkan. Untuk contoh ini, pilih Line
  5. Ketik judul untuk widget
  6. Klik menu drop-down Select a metric dan ketik "Tensorcore idle duration" di kolom filter
  7. Dalam daftar metrik, pilih TPU Worker -> Tpu -> Tensorcore idle duration
  8. Untuk memfilter konten dasbor, klik menu drop-down Filter
  9. Di bagian Resource labels, pilih project_id
  10. Pilih pembanding dan ketik nilai di kolom Nilai
  11. Klik Terapkan