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:

  1. Metrik Log: menampilkan jumlah entri pelacakan tumpukan yang dikumpulkan untuk setiap pekerja VM TPU.
  2. 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 filter resource.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

  1. Instal Terraform di komputer lokal Anda.
  2. Jalankan terraform init untuk menambahkan plugin yang diperlukan dan membuat direktori .terraform.
  3. 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.

  1. Di Cloud Shell, buat bucket Cloud Storage:

    gcloud storage buckets create gs://${GCS_BUCKET_NAME}
    
  2. 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": &lt;number of days to retain stack traces, default to 30 days if not set&gt;
    }
    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": &lt;the number of outliers to show on dashboard, default to 10 if not set&gt;
    }
    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": &lt;number of days to retain stack traces, default to 30 days if not set&gt;
    }
    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": &lt;number of outliers to show on dashboard, default to 10 if not set&gt;
    }
    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": &lt;number of days to retain stack traces, default to 30 days if not set&gt;
    }
    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": &ltnumber of outliers to show on dashboard, default to 10 if not set&gt;
    }
    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": &lt;number of days to retain stack traces, default to 30 days if not set&gt;
    }
    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": &lt;number of days to retain stack traces, default to 30 days if not set&gt;
    }
    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": &lt;number of days to retain stack traces, default to 30 days if not set&gt;
    }
    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: {}