Dasbor pemantauan dan logging Cloud TPU
Repositori dasbor pemantauan dan proses debug Cloud TPU berisi semua infrastruktur dan logika yang diperlukan untuk memantau dan men-debug alur kerja yang berjalan di VM TPU. Tindakan ini memerlukan Terraform, alat open source yang menggunakan file konfigurasi untuk menentukan dan mengelola infrastruktur Google Cloud.
Dasbor pemantauan
Dasbor pemantauan menampilkan metrik Cloud TPU berikut:
- Pemakaian CPU pada pekerja TPU:
cpu/utilization
- Penggunaan memori menurut VM TPU:
memory/usage
- Byte jaringan yang diterima oleh Pod melalui jaringan:
network/received_bytes_count
- Byte jaringan yang dikirim oleh Pod melalui jaringan:
network/sent_bytes_count
- Durasi tidak ada aktivitas TensorCore dari chip TPU:
tpu/tensorcore/idle_duration
Cloud Monitoring secara otomatis menghasilkan data metrik. Untuk melihat dasbor monitoring, buka konsol Google Cloud, pilih Monitoring, lalu Dashboards. Pilih GCE - TPU Monitoring Dashboard dalam daftar dasbor. Dasbor pemantauan Cloud TPU terdiri dari sejumlah panel, yang masing-masing menampilkan data metrik. Untuk setiap metrik Cloud TPU, dasbor menampilkan nilai metrik saat ini, nilai rata-rata, dan nilai maksimum di panel terpisah. Panel rata-rata dan maksimum memungkinkan Anda mengidentifikasi VM TPU yang menyimpang untuk penyelidikan lebih lanjut.
Anda juga dapat melihat metrik TPU menggunakan Metrics Explorer di konsol Google Cloud Cloud Monitoring. Untuk informasi selengkapnya, lihat Memantau VM Cloud TPU.
Dasbor logging
Dasbor logging menampilkan dua bagian:
- Metrik Log: menampilkan jumlah entri pelacakan tumpukan yang dikumpulkan untuk setiap pekerja VM TPU.
- Panel Log: menampilkan semua entri pelacakan tumpukan dengan kolom untuk tingkat keparahan,
stempel waktu, dan ringkasan entri. Anda dapat memfilter panel log ini menurut string, atau label pekerja TPU seperti
node_id
,worker_id
. Misalnya, menambahkan filterresource.labels.node_id:"testing"
akan menampilkan semua entri pelacakan yang dikumpulkan untuk pekerja VM TPU dengan ID yang ditetapkan ke "pengujian".
Cloud Logging mengumpulkan entri log yang dihasilkan oleh layanan Google Cloud, layanan pihak ketiga, framework ML, dan kode Anda. Anda dapat menginstal paket PyPi cloud-tpu-diagnostics
untuk menulis pelacakan tumpukan Python saat terjadi error atau pengecualian atau saat workload Anda tidak responsif. Untuk mengetahui informasi selengkapnya, lihat
Men-debug VM Cloud TPU.
Untuk melihat dasbor logging, buka konsol Google Cloud, pilih Monitoring, lalu Dashboards. Pilih GCE - TPU Logging Dashboard dalam daftar dasbor.
Mengonfigurasi dasbor metrik dan logging
Ikuti petunjuk ini untuk mengonfigurasi dasbor metrik dan logging.
Meng-clone repositori dasbor
Anda dapat meng-clone repositori langsung dari repositori GitHub Pemantauan dan Proses Debug Cloud TPU atau dari command line:
git clone https://github.com/google/cloud-tpu-monitoring-debugging.git
Instal Terraform
- Instal Terraform di komputer lokal Anda.
- Jalankan
terraform init
untuk menambahkan plugin yang diperlukan dan membuat direktori.terraform
. - Jalankan
terraform init –upgrade
untuk menginstal update yang tersedia.
Mengonfigurasi izin untuk pemantauan dan logging
Peran Monitoring Admin, Monitoring Dashboard Configuration Editor, dan Logging Admin diperlukan untuk men-deploy resource pemantauan ke project Google Cloud Anda. Untuk mengetahui informasi selengkapnya tentang peran pemantauan, lihat Memberikan akses ke Cloud Monitoring.
Membuat bucket Cloud Storage
Buat bucket Cloud Storage untuk menyimpan file status Terraform. Anda juga dapat menggunakan bucket Cloud Storage yang ada. Menggunakan bucket Cloud Storage memastikan bahwa beberapa pengguna dapat menjalankan Terraform secara bersamaan dan mengakses infrastruktur yang sama.
Di Cloud Shell, buat bucket Cloud Storage:
gcloud storage buckets create gs://${GCS_BUCKET_NAME}
Aktifkan Pembuatan Versi Objek untuk menyimpan histori deployment Anda. Mengaktifkan Pembuatan Versi Objek akan meningkatkan biaya penyimpanan, yang dapat Anda kurangi dengan mengonfigurasi Pengelolaan Siklus Proses Objek untuk menghapus versi status lama.
gcloud storage buckets update gs://${GCS_BUCKET_NAME} --versioning
Lakukan inisialisasi Terraform
Jalankan terraform init
di dalam direktori gcp_resources/gce
repositori.
Perintah ini akan meminta Anda memasukkan nama bucket Cloud Storage untuk menyimpan file status Terraform.
Men-deploy dasbor pemantauan dan logging
Jalankan terraform apply
di dalam direktori gcp_resources/gce
untuk men-deploy dasbor monitoring dan logging di project Google Cloud Anda. Perintah ini
meminta Anda memberikan nilai untuk variabel berikut:
var.monitoring_dashboard_config
var.project_name
var.stack_trace_bucket_config
Jika Anda hanya ingin men-deploy dasbor pemantauan, jalankan terraform init
dan terraform apply
di dalam direktori
gcp_resources/gce/dashboard/monitoring_dashboard
. Demikian pula, jalankan perintah ini di dalam
direktori gcp_resources/gce/dashboard/logging_dashboard
untuk men-deploy
dasbor logging saja.
Contoh konfigurasi
Saat Anda menjalankan terraform apply
, Terraform akan meminta beberapa nilai variabel konfigurasi. Bagian ini memberikan beberapa contoh konfigurasi yang dapat Anda gunakan.
Setiap contoh menunjukkan output yang ditampilkan oleh perintah terraform apply serta
nilai yang disarankan untuk setiap variabel konfigurasi dalam huruf tebal. Input
harus dalam format JSON yang diapit oleh tanda kurung kurawal ("{}").
Contoh 1
Contoh ini menentukan nama project Google Cloud dan menggunakan nilai default untuk konfigurasi lainnya.
var.project_name
Name of gcp project
Enter a value: <gcp_project_name>
var.stack_trace_bucket_config
Configuration to create a log bucket to store stack traces:
{
"bucket_name": "name of log bucket to create",
"retention_days": <number of days to retain stack traces, default to 30 days if not set>
}
Enter {} to not create separate bucket for stack traces.
Enter a value: {}
var.monitoring_dashboard_config
Configuration for monitoring dashboard:
{
"node_prefix": "prefix used to generate the node name in multislice node provision, default to empty string",
"outlier_count": <the number of outliers to show on dashboard, default to 10 if not set>
}
Enter {} to set default configuration for monitoring dashboard.
Enter a value: {}
Contoh 2
Contoh ini mengonfigurasi dasbor untuk menampilkan 5 VM TPU outlier.
var.project_name
Name of gcp project
Enter a value: <gcp_project_name>
var.stack_trace_bucket_config
Configuration to create a log bucket to store stack traces:
{
"bucket_name": "name of log bucket to create",
"retention_days": <number of days to retain stack traces, default to 30 days if not set>
}
Enter {} to not create separate bucket for stack traces.
Enter a value: {}
var.monitoring_dashboard_config
Configuration for monitoring dashboard:
{
"node_prefix": "prefix used to generate the node name in multislice node provision, default to empty string",
"outlier_count": <number of outliers to show on dashboard, default to 10 if not set>
}
Enter {} to set default configuration for monitoring dashboard.
Enter a value: {"outlier_count":5}
Contoh 3
Konfigurasi ini membuat dasbor yang menampilkan 10 VM TPU outlier menggunakan "test" sebagai awalan untuk nama node yang dihasilkan oleh dasbor:
var.project_name
Name of gcp project
Enter a value: <gcp_project_name>
var.stack_trace_bucket_config
Configuration to create a log bucket to store stack traces:
{
"bucket_name": "name of log bucket to create",
"retention_days": <number of days to retain stack traces, default to 30 days if not set>
}
Enter {} to not create separate bucket for stack traces.
Enter a value: {}
var.monitoring_dashboard_config
Configuration for monitoring dashboard:
{
"node_prefix": "prefix used to generate the node name in multislice node provision, default to empty string",
"outlier_count": <number of outliers to show on dashboard, default to 10 if not set>
}
Enter {} to set default configuration for monitoring dashboard.
Enter a value: {"node_prefix":"test"}
Contoh 4
Konfigurasi ini membuat dasbor yang menampilkan 5 VM outlier menggunakan "test" sebagai awalan untuk nama node yang dihasilkan oleh dasbor.
var.project_name
Name of gcp project
Enter a value: <gcp_project_name>
var.stack_trace_bucket_config
Configuration to create a log bucket to store stack traces:
{
"bucket_name": "name of log bucket to create",
"retention_days": <number of days to retain stack traces, default to 30 days if not set>
}
Enter {} to not create separate bucket for stack traces.
Enter a value: {}
var.monitoring_dashboard_config
Configuration for monitoring dashboard:
{
"node_prefix": "prefix used to generate the node name in multislice node provision, default to empty string",
"outlier_count": "number of outliers to show on dashboard, default to 10 if not set"
}
Enter {} to set default configuration for monitoring dashboard.
Enter a value: {"node_prefix":"test", "outlier_count":5}
Contoh 5
Contoh ini mengonfigurasi bucket Cloud Storage untuk menyimpan pelacakan tumpukan. Pelacakan stack memiliki kebijakan retensi default selama 30 hari.
var.project_name
Name of gcp project
Enter a value: <gcp_project_name>
var.stack_trace_bucket_config
Configuration to create a log bucket to store stack traces:
{
"bucket_name": "name of log bucket to create",
"retention_days": <number of days to retain stack traces, default to 30 days if not set>
}
Enter {} to not create separate bucket for stack traces.
Enter a value: {"bucket_name":"stack_trace_log_bucket"}
var.monitoring_dashboard_config
Configuration for monitoring dashboard:
{
"node_prefix": "prefix used to generate the node name in multislice node provision, default to empty string",
"outlier_count": "number of outliers to show on dashboard, default to 10 if not set"
}
Enter {} to set default configuration for monitoring dashboard.
Enter a value: {}
Contoh 6
Contoh ini mengonfigurasi bucket Cloud Storage dengan periode retensi data selama 20 hari.
var.project_name
Name of gcp project
Enter a value: <gcp_project_name>
var.stack_trace_bucket_config
Configuration to create a log bucket to store stack traces:
{
"bucket_name": "name of log bucket to create",
"retention_days": <number of days to retain stack traces, default to 30 days if not set>
}
Enter {} to not create separate bucket for stack traces.
Enter a value: {"bucket_name":"stack_trace_log_bucket", "retention_days":20}
var.monitoring_dashboard_config
Configuration for monitoring dashboard:
{
"node_prefix": "prefix used to generate the node name in multislice node provision, default to empty string",
"outlier_count": "number of outliers to show on dashboard, default to 10 if not set"
}
Enter {} to set default configuration for monitoring dashboard.
Enter a value: {}