Melihat log distribusi instance

Saat Anda membuat grup instance terkelola (MIG) regional atau meningkatkan ukuran targetnya, Compute Engine akan mengevaluasi ketersediaan resource secara real-time untuk mendistribusikan instance komputasi baru di seluruh zona dan jenis mesin. Selama proses ini, Compute Engine mencatat entri log distribusi instance di Cloud Logging.

Dokumen ini menjelaskan cara melihat dan menafsirkan log distribusi instance ini. Bagian ini juga menjelaskan cara menggunakan log ini untuk menyelidiki alokasi yang tertunda dan mengonfigurasi pemberitahuan.

Untuk melihat distribusi sebenarnya dari instance yang sedang berjalan, lihat Memantau distribusi instance di MIG.

Tentang log distribusi instance

Log distribusi instance memberikan snapshot satu kali dari alokasi terencana MIG untuk instance komputasi. Dalam log ini, instance yang dialokasikan berarti MIG menemukan kapasitas dan berencana membuat instance komputasi pada jenis mesin tersebut dan di zona tersebut. Ukuran yang dialokasikan tidak berarti bahwa instance komputasi telah berhasil dibuat.

Karena log menyediakan snapshot, Compute Engine tidak akan mengupdate log ini saat MIG membuat instance komputasi yang tersisa nanti. Entri log memungkinkan Anda melihat detail berikut:

  • Machine type distribution: jumlah instance komputasi yang telah dialokasikan MIG per jenis mesin. Informasi ini hanya ada untuk MIG regional yang menggunakan fleksibilitas instance.

  • Distribusi zona: jumlah instance komputasi yang telah dialokasikan MIG per zona.

  • Instance yang menunggu kapasitas: jumlah instance yang kapasitasnya tidak dapat segera dialokasikan oleh MIG dan sedang aktif mencari kapasitas.

Batasan

  • Log distribusi instance hanya tersedia untuk MIG regional.

  • Untuk MIG regional yang menggunakan bentuk distribusi target EVEN tanpa penskalaan otomatis, entri log hanya menyertakan kolom oldSize, newSize, deltaSize, dan targetShape, tanpa detail distribusi instance.

  • Compute Engine hanya mencatat detail distribusi instance ke dalam log saat Anda membuat MIG atau meningkatkan ukuran targetnya. Compute Engine tidak mencatat detail ini ke dalam log saat ukuran target berkurang, atau selama operasi perbaikan, pembuatan ulang, dan update instance.

Melihat log distribusi instance dari MIG tertentu

Untuk melihat log distribusi instance dari MIG tertentu, gunakan salah satu opsi berikut:

Konsol

Anda dapat melihat log untuk MIG tertentu langsung dari halaman detail grup instance.

  1. Di konsol Cloud de Confiance , buka halaman Instance groups.

    Buka Instance groups

  2. Klik nama MIG yang ingin Anda lihat.

  3. Klik tab Monitoring.

  4. Di panel kiri, pilih Logs.

  5. Di filter hasil log, ketik instanceDistribution, lalu tekan Enter.

  6. Untuk melihat data distribusi instance, luaskan entri log, lalu luaskan protoPayload.metadata.details.

gcloud

Untuk melihat log distribusi instance dari MIG tertentu, gunakan perintah gcloud logging read:

gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \
  protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND \
  resource.labels.instance_group_manager_name=\"MIG_NAME\""

Ganti kode berikut:

  • PROJECT_ID: ID project Anda.

  • MIG_NAME: nama MIG.

REST

Untuk melihat log distribusi instance dari MIG tertentu, buat permintaan POST ke metode entries.list.

POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
  "projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND resource.labels.instance_group_manager_name=\"MIG_NAME\""
}

Ganti kode berikut:

  • PROJECT_ID: ID project Anda.

  • MIG_NAME: nama MIG.

Untuk mengetahui informasi selengkapnya tentang setiap kolom dalam log, lihat Entri log distribusi instance.

Melihat semua log distribusi instance dalam project

Untuk melihat semua log distribusi instance dalam sebuah project, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Cloud de Confiance , buka halaman Logs Explorer.

    Buka Logs Explorer

  2. Masukkan kueri. Berikut ini adalah beberapa contohnya:

    • Untuk melihat semua log distribusi instance dalam project:

      logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event"
      protoPayload.methodName="compute.instanceGroupManagers.instanceDistribution"
      
    • Untuk melihat log distribusi instance yang sebagian pengubahan ukurannya masih menunggu kapasitas:

      logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event"
      protoPayload.methodName="compute.instanceGroupManagers.instanceDistribution"
      protoPayload.metadata.details.data.activeSeekDeltaSize > 0
      

    Ganti PROJECT_ID dengan ID project Anda.

  3. Klik Run query.

  4. Di hasil, luaskan entri log.

    • Untuk melihat ringkasan dan data, luaskan protoPayload.metadata.details.
    • Untuk melihat ringkasan di setiap baris, klik message dan pilih Add field to summary line.

gcloud

Untuk melihat log distribusi instance, gunakan perintah gcloud logging read.

  • Untuk melihat semua log distribusi instance dalam project:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \
  protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\""
  • Untuk melihat semua log dalam project dari hari terakhir, tentukan flag --freshness=1d sebagai berikut:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \
    protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\"" \
    --freshness=1d
  • Untuk melihat log distribusi instance yang sebagian pengubahan ukurannya masih menunggu kapasitas:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \
    protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND \
    protoPayload.metadata.details.data.activeSeekDeltaSize > 0"

Ganti PROJECT_ID dengan ID project Anda.

REST

Untuk melihat log distribusi instance, buat permintaan POST ke metode entries.list.

  • Untuk melihat semua log distribusi instance dalam project:
POST https://logging.googleapis.com/v2/entries:list
{
  "resourceNames": [
    "projects/PROJECT_ID"
  ],
  "filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\""
}
  • Untuk melihat semua log dalam project dari hari terakhir, tambahkan kondisi timestamp ke filter:
POST https://logging.googleapis.com/v2/entries:list
{
  "resourceNames": [
    "projects/PROJECT_ID"
  ],
  "filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND timestamp >= \"YYYY-MM-DDThh:mm:ssZ\""
}
  • Untuk melihat log distribusi instance yang sebagian pengubahan ukurannya masih menunggu kapasitas:
POST https://logging.googleapis.com/v2/entries:list
{
  "resourceNames": [
    "projects/PROJECT_ID"
  ],
  "filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND protoPayload.metadata.details.data.activeSeekDeltaSize > 0"
}

Ganti kode berikut:

  • PROJECT_ID: ID project Anda.

  • YYYY-MM-DDThh:mm:ssZ: stempel waktu RFC 3339 untuk waktu mulai—misalnya, 2024-10-22T00:00:00Z.

Untuk mengetahui informasi selengkapnya tentang setiap kolom dalam log, lihat Entri log distribusi instance.

Entri log distribusi instance

Berikut adalah contoh entri log (protoPayload.metadata.details). Karena peristiwa ini adalah snapshot satu kali, entri log tidak akan diperbarui saat instance yang tersisa dibuat nanti. Entri log memungkinkan Anda melihat detailnya sebagai berikut:

  • details.data: menampilkan detail terstruktur tentang distribusi instance.

  • details.message: menampilkan ringkasan distribusi instance.

Dalam contoh ini, MIG regional dengan fleksibilitas instance melakukan penyebaran skala dari 0 ke 100. MIG segera mengalokasikan 80 dari 100 instance baru di dua pilihan instance yang diberi peringkat (20 c2-standard-4 instance dalam pilihan rank2-c2 dan 60 n2d-standard-4 instance dalam pilihan rank3-n2d). Entri ini juga menunjukkan bahwa instance komputasi 40 dialokasikan di us-central1-b dan us-central1-c masing-masing. Untuk 20 instance yang tersisa (activeSeekDeltaSize), MIG terus mencari kapasitas di semua pilihan dan zona instance yang dikonfigurasi. Untuk MIG regional tanpa fleksibilitas instance, entri log akan menghilangkan kolom instanceSelections dan hanya menampilkan distribusi zona.

"metadata": {
  "details": {
    "data": {
      "oldSize": 0,
      "newSize": 100,
      "deltaSize": 100,
      "targetShape": "BALANCED",
      "activeSeekDeltaSize": 20,
      "instanceSelections": {
        "rank1-n2": {
          "rank": 1,
          "machineSelections": [
            {
              "machineType": "n2-standard-4",
              "allocatedSize": 0
            }
          ]
        },
        "rank2-c2": {
          "rank": 2,
          "machineSelections": [
            {
              "machineType": "c2-standard-4",
              "allocatedSize": 20
            }
          ]
        },
        "rank3-n2d": {
          "rank": 3,
          "machineSelections": [
            {
              "machineType": "n2d-standard-4",
              "allocatedSize": 60
            }
          ]
        }
      },
      "zonalDistribution": {
        "us-central1-a": {
          "allocatedSize": 0
        },
        "us-central1-b": {
          "allocatedSize": 40
        },
        "us-central1-c": {
          "allocatedSize": 40
        }
      }
    },
    "message": "Increasing MIG target size from 0 to 100 instances (+100).
    Allocated 80 of 100 new instances. Allocated instances across instance
    selections: rank2-c2 (rank 2; c2-standard-4: 20); rank3-n2d (rank 3;
    n2d-standard-4: 60). Allocated instances across zones based on target
    distribution shape BALANCED: us-central1-a: 0, us-central1-b: 40,
    us-central1-c: 40. MIG continues to allocate the remaining 20 new instances
    across all instance selections and zones. The final distribution across zones
    and machine types may differ as instances are created. View the group's
    instances for the current distribution."
  }
}

Tabel berikut menjelaskan setiap kolom dalam entri log.

Kolom Deskripsi
details.data.oldSize Ukuran target MIG regional sebelum operasi pengubahan ukuran.
details.data.newSize Ukuran target yang diminta dari MIG regional.
details.data.deltaSize Perubahan ukuran target (newSize - oldSize).
details.data.targetShape Bentuk distribusi target MIG regional.
details.data.activeSeekDeltaSize Jumlah instance baru yang kapasitasnya masih dicari oleh MIG di seluruh pilihan dan zona instance yang dikonfigurasi. Kolom ini dihilangkan jika nilainya adalah 0.
details.data.instanceSelections

Pilihan instance yang dikonfigurasi yang dievaluasi selama alokasi. Kolom ini hanya ada untuk MIG yang menggunakan fleksibilitas instance. Setiap kunci adalah nama pilihan instance, dan nilainya berisi kolom berikut:

  • rank: peringkat prioritas yang dikonfigurasi untuk pemilihan instance.
  • machineSelections: daftar alokasi jenis mesin dalam pilihan, dengan setiap entri menentukan jenis mesin (machineType) dan jumlah instance komputasi yang dialokasikan menggunakan jenis mesin tersebut (allocatedSize).
details.data.zonalDistribution Zona yang dikonfigurasi dan distribusi instance yang dialokasikan. Setiap kunci adalah nama zona, dan nilainya berisi jumlah instance komputasi yang dialokasikan di zona tersebut (allocatedSize).
details.message Pesan ringkasan yang menjelaskan distribusi instance, termasuk jumlah yang dialokasikan dan detail kapasitas yang dicari.

Menafsirkan log distribusi instance

Log distribusi instance memberikan ringkasan rencana MIG untuk pembuatan instance komputasi. Karena log menunjukkan bahwa MIG mengalokasikan instance komputasi sebelum berhasil dibuat, Anda harus menggunakan data log bersama dengan status instance komputasi dan pesan error untuk memahami perilaku MIG yang sebenarnya.

Gunakan tabel berikut untuk menafsirkan output log umum dan menentukan apakah Anda perlu mengambil tindakan:

Output log Penjelasan Tindakan yang disarankan
activeSeekDeltaSize lebih besar dari 0 MIG tidak dapat menemukan kapasitas yang cukup untuk segera memenuhi seluruh permintaan pengubahan ukuran. MIG terus mencoba membuat instance yang tersisa di semua opsi yang dikonfigurasi. Periksa error instance MIG untuk mengetahui alasan pembuatan instance gagal. Pertimbangkan untuk menambahkan jenis mesin dari kelompok mesin lain, menambahkan zona, atau memeriksa kuota Anda.
Pilihan preferensi yang lebih tinggi (nomor peringkat yang lebih rendah) memiliki allocatedSize dari 0 Pada saat pengambilan keputusan, MIG memeriksa jenis mesin yang paling Anda sukai, tetapi tidak menemukan kapasitas yang cukup. MIG menggunakan pilihan preferensi yang lebih rendah (nomor peringkat yang lebih tinggi). Compute Engine tidak mencatat error instance ke dalam log untuk pilihan yang dilewati. Jika MIG sering melewati pilihan yang paling Anda sukai, pertimbangkan untuk menambahkan lebih banyak jenis mesin ke pilihan yang paling Anda sukai atau menerima opsi preferensi yang lebih rendah.
Zona yang dikonfigurasi memiliki allocatedSize 0 MIG tidak mengalokasikan instance baru di zona ini. Jika bentuk target Anda adalah ANY atau ANY_SINGLE_ZONE, distribusi yang tidak merata ini adalah hal yang normal. Jika tidak, tinjau kuota, pemesanan, dan dukungan zona untuk template instance Anda.
Jenis mesin tidak ada dalam ringkasan message MIG tidak menggunakan jenis mesin tersebut untuk alokasi. Periksa blok details.data terstruktur. Pesan ringkasan menghilangkan pilihan dan jenis mesin yang mendapatkan 0 instance baru, tetapi data terstruktur mencantumkan semua opsi yang dievaluasi.

Memeriksa alokasi instance yang tertunda

Jika MIG Anda masih menunggu kapasitas (activeSeekDeltaSize > 0), Anda dapat memeriksa hal berikut untuk memahami alasan di balik alokasi yang tertunda:

  • Periksa error pembuatan instance. Untuk melihat apakah pembuatan instance gagal setelah MIG mengalokasikan kapasitas, atau apakah instance komputasi masih menunggu kapasitas, periksa error instance. Untuk mengetahui informasi selengkapnya, lihat Mencantumkan error instance.

  • Periksa status instance. Untuk melihat status dan tindakan saat ini dari setiap instance, cantumkan instance dalam MIG dan periksa kolom instanceStatus-nya. Untuk mengetahui informasi selengkapnya, lihat Memeriksa status instance terkelola.

  • Tinjau konfigurasi Anda. Jika Anda telah mengonfigurasi kebijakan fleksibilitas instance di MIG, tinjau kuota regional untuk kelompok mesin dalam kebijakan tersebut. Selain itu, pastikan zona yang Anda pilih mendukung jenis mesin yang diminta. Untuk mengetahui informasi selengkapnya, lihat Melihat dan mengelola kuota serta Region dan zona yang tersedia.

Membuat kebijakan pemberitahuan berdasarkan log

Agar mendapatkan notifikasi saat operasi pengubahan ukuran MIG menunggu kapasitas, Anda dapat membuat kebijakan pemberitahuan berbasis log di Logs Explorer. Misalnya, Anda dapat memicu pemberitahuan saat activeSeekDeltaSize lebih besar dari 0.

Untuk membuat pemberitahuan ini, lakukan tindakan berikut:

  1. Di konsol Cloud de Confiance , buka halaman Logs Explorer.

    Buka Logs Explorer

  2. Masukkan kueri berikut:

    logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="compute.instanceGroupManagers.instanceDistribution"
    protoPayload.metadata.details.data.activeSeekDeltaSize > 0
    

    Ganti PROJECT_ID dengan ID project Anda.

  3. Klik Run query untuk memvalidasi kueri.

  4. Buat kebijakan pemberitahuan dengan mengikuti petunjuk di bagian membuat kebijakan pemberitahuan berbasis log dalam dokumentasi Cloud Logging.

Langkah berikutnya