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
EVENtanpa penskalaan otomatis, entri log hanya menyertakan kolomoldSize,newSize,deltaSize, dantargetShape, 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.
Di konsol Cloud de Confiance , buka halaman Instance groups.
Klik nama MIG yang ingin Anda lihat.
Klik tab Monitoring.
Di panel kiri, pilih Logs.
Di filter hasil log, ketik
instanceDistribution, lalu tekan Enter.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
Di konsol Cloud de Confiance , buka halaman Logs Explorer.
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_IDdengan ID project Anda.Klik Run query.
Di hasil, luaskan entri log.
- Untuk melihat ringkasan dan data, luaskan
protoPayload.metadata.details. - Untuk melihat ringkasan di setiap baris, klik
messagedan pilih Add field to summary line.
- Untuk melihat ringkasan dan data, luaskan
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=1dsebagai 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
timestampke 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:
|
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:
Di konsol Cloud de Confiance , buka halaman Logs Explorer.
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_IDdengan ID project Anda.Klik Run query untuk memvalidasi kueri.
Buat kebijakan pemberitahuan dengan mengikuti petunjuk di bagian membuat kebijakan pemberitahuan berbasis log dalam dokumentasi Cloud Logging.