Dokumen ini menjelaskan cara melihat dan membaca entri log perubahan status respons VM dalam grup instance terkelola (MIG), dan memberikan kasus penggunaan khusus untuk membantu Anda memantau VM di grup.
Jika Anda telah mengonfigurasi health check berbasis aplikasi untuk MIG, Compute Engine akan menulis entri log setiap kali status respons instance terkelola berubah. Misalnya, saat status instance berubah dari HEALTHY
menjadi UNHEALTHY
. Entri log ini membantu Anda
memantau dan men-debug status respons setiap instance terkelola serta
keseluruhan kondisi MIG.
Sebelum memulai
- Tinjau Menyiapkan health check dan autohealing.
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Buka Logs Explorer di Konsol Google Cloud.
Tetapkan parameter kueri berikut:
- Resource - Pengelola Grup Instance GCE
- Nama log -
instance_group_manager_events
Atau, Anda dapat menyalin kueri berikut di builder Kueri.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*
Anda dapat mempersempit penelusuran ke grup instance terkelola tertentu menggunakan kueri berikut.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Klik Jalankan kueri. Hasil kueri akan menampilkan log.
PROJECT_ID
: project id Anda.MIG_NAME
: MIG yang ingin Anda lihat log perubahan status respons-nya.OAUTH2_TOKEN
: token akses aplikasi Anda. Untuk pengujian lokal, Anda dapat menggunakan perintahgcloud auth print-access-token
untuk membuat token.PROJECT_ID
: project id Anda.MIG_NAME
: MIG yang ingin Anda lihat log perubahan status respons-nya.Buka Logs Explorer di Konsol Google Cloud.
Salin kueri berikut di builder Kueri.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"
Klik Jalankan kueri.
PROJECT_ID
: project id Anda.INSTANCE_NAME
: instance terkelola yang ingin Anda lihat log perubahan status respons-nya.OAUTH2_TOKEN
: token akses aplikasi Anda. Untuk pengujian lokal, Anda dapat menggunakan perintahgcloud auth print-access-token
untuk membuat token.PROJECT_ID
: project id Anda.INSTANCE_NAME
: instance terkelola yang ingin Anda lihat log perubahan status respons-nya.- Informasi umum yang ditampilkan di sebagian besar log, seperti tingkat keparahan, project ID, nama dan ID MIG, nomor project, stempel waktu, dan sebagainya.
- Kolom khusus untuk status respons instance.
- Mencari tahu seberapa sering instance VM tertentu mengubah status respons dari waktu ke waktu.
- Evaluasi seberapa sering MIG mengalami perubahan status response pada instance-nya.
- Identifikasi instance VM bermasalah yang sering mengalami
UNHEALTHY
. - Cari tahu penyebab upaya autohealing.
- Cari tahu apakah upaya autohealing berhasil untuk instance VM tertentu.
- Sempurnakan konfigurasi health check untuk aplikasi dengan menentukan penundaan awal yang sesuai untuk autohealing.
Buka Logs Explorer di Konsol Google Cloud.
Masukkan kueri berikut di builder Kueri menggunakan project ID dan nama instance Anda.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"
Di bagian hasil kueri, klik Tindakan, lalu klik Buat metrik.
Di halaman Buat metrik log, lakukan tindakan berikut:
- Tetapkan Jenis Metrik sebagai Penghitung.
Masukkan Nama metrik log, misalnya
health-mig-xyzq
.Bagian Filter build menampilkan kueri log dari Logs Explorer. Anda juga dapat mengonfigurasi filter metrik agar hanya memperhitungkan status yang mengganggu, seperti
UNHEALTHY
danTIMEOUT
, dengan menambahkanseverity>=WARNING
ke filter.Di bagian Labels, klik Add label.
Masukkan Nama label, misalnya
health_state
.Tetapkan Jenis label sebagai
STRING
.Tetapkan Nama kolom menjadi
jsonPayload.instanceHealthStateChange.detailedHealthState
. Ini akan memungkinkan Anda membedakan perubahan status respons yang berbeda.Klik Done untuk menambahkan label.
Klik Buat Metrik.
Buka halaman Metrik berbasis Log dan cari metrik yang baru dibuat.
Klik menu more_vert pada baris metrik dan pilih Lihat di Metrics Explorer. Metrics Explorer terbuka dan menampilkan grafik yang menampilkan perubahan status respons instance VM yang Anda tentukan dalam kueri.
Buka Logs Explorer di Konsol Google Cloud.
Masukkan kueri berikut di builder Kueri menggunakan project ID dan nama grup instance terkelola Anda.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Di bagian hasil kueri, klik Tindakan, lalu klik Buat metrik.
Di halaman Buat metrik log, lakukan tindakan berikut:
- Tetapkan Jenis Metrik sebagai Penghitung.
- Masukkan Nama metrik log, misalnya
health-mig-xyzq
. - Di bagian Labels, klik Add label.
- Masukkan Nama label, misalnya
health_state
. - Tetapkan Jenis label sebagai
STRING
. - Tetapkan Nama kolom menjadi
jsonPayload.instanceHealthStateChange.detailedHealthState
. Ini akan memungkinkan Anda membedakan perubahan status respons yang berbeda. - Klik Done untuk menambahkan label.
- Klik Buat Metrik.
Buka halaman Metrik berbasis Log dan cari metrik yang baru dibuat.
Klik menu more_vert pada baris metrik dan pilih Lihat di Metrics Explorer. Metrics Explorer terbuka dan menampilkan grafik yang menampilkan perubahan status respons semua instance VM dalam grup instance terkelola yang Anda tentukan dalam kueri.
Buka Logs Explorer di Konsol Google Cloud.
Masukkan kueri berikut di builder Kueri menggunakan project ID dan nama grup instance terkelola Anda.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Di bagian hasil kueri, klik Tindakan, lalu klik Buat metrik.
Di halaman Buat metrik log, lakukan tindakan berikut:
- Tetapkan Jenis Metrik sebagai Penghitung.
- Masukkan Nama metrik log, misalnya
health-mig-xyzq
. - Di bagian Labels, klik Add label.
- Masukkan Nama label, misalnya
health_state
. - Tetapkan Jenis label sebagai
STRING
. - Tetapkan Nama kolom menjadi
jsonPayload.instanceHealthStateChange.detailedHealthState
. Ini akan memungkinkan Anda membedakan perubahan status respons yang berbeda. - Klik Done untuk menambahkan label.
- Demikian pula, tambahkan label kedua, misalnya
instance
, dengan Nama kolom ditetapkan kejsonPayload.instanceHealthStateChange.instance
. - Klik Buat Metrik.
Buka halaman Metrik berbasis Log dan cari metrik yang baru dibuat.
Klik menu more_vert pada baris metrik dan pilih Lihat di Metrics Explorer. Metrics Explorer terbuka dan menampilkan grafik yang menampilkan perubahan status respons semua instance VM dalam grup instance terkelola yang Anda tentukan dalam kueri.
Tetapkan Kelompokkan Menurut ke
instance
untuk melihat jumlah gabungan perubahan status respons untuk setiap instance.Buka Logs Explorer di Konsol Google Cloud.
Masukkan kueri berikut di builder Kueri menggunakan project ID Anda dan nama instance.
resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" AND protoPayload.methodName="compute.instances.repair.recreateInstance" AND protoPayload.resourceName=~"/INSTANCE_NAME$"
Klik Jalankan kueri. Hasil kueri akan menampilkan semua upaya autohealing di VM dengan alasan autohealing di
protoPayload.status.message
.Buka Logs Explorer di Konsol Google Cloud.
Masukkan kueri berikut di builder Kueri menggunakan project ID Anda dan nama instance.
(resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" AND protoPayload.methodName="compute.instances.repair.recreateInstance" AND protoPayload.resourceName=~"/INSTANCE_NAME$") OR (resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME")
Bagian pertama kueri menampilkan operasi perbaikan instance, yang menunjukkan bahwa pembuatan ulang dipicu oleh autohealing MIG untuk membuat instance kembali responsif. Bagian kedua kueri menampilkan semua perubahan status respons instance VM.
Di Hasil kueri, peristiwa perubahan status respons dengan
detailedHealthState
yang ditetapkan keHEALTHY
segera setelah operasi perbaikan menunjukkan bahwa upaya autohealing berhasil.Buka Logs Explorer di Konsol Google Cloud.
Masukkan kueri berikut di builder Kueri menggunakan project ID Anda dan nama instance.
(resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity" AND protoPayload.request.@type="type.googleapis.com/compute.instances.insert" AND operation.last="true" AND protoPayload.resourceName=~"/INSTANCE_NAME$") OR (resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME")
Bagian pertama kueri menunjukkan penyelesaian operasi penyisipan VM. Bagian kedua menampilkan semua perubahan status respons untuk VM.
Dalam Hasil kueri, stempel waktu peristiwa perubahan status respons dengan
detailedHealthState
yang ditetapkan keHEALTHY
segera setelah operasi penyisipan menunjukkan waktu yang diperlukan VM ini untuk melakukan booting.Ulangi langkah-langkah tersebut untuk beberapa VM lainnya guna mendapatkan perkiraan nilai parameter penundaan awal yang lebih baik.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.
Harga
Compute Engine menggunakan Cloud Logging guna menghasilkan entri log untuk perubahan status respons instance terkelola. Cloud Logging memberi Anda alokasi gratis per bulan. Setelah jumlahnya terlampaui, entri log akan ditagih berdasarkan volume data. Untuk mengetahui informasi lebih lanjut, lihat ringkasan harga Cloud Logging.
Untuk menghindari biaya logging, Anda dapat menonaktifkan log perubahan status respons.
Melihat log perubahan status respons
Asalkan log perubahan status respons tetap diaktifkan, Compute Engine akan menulis entri log ke log platform setiap kali status respons instance terkelola berubah. Anda dapat melihat log ini untuk suatu project, untuk MIG tertentu, atau untuk instance terkelola tertentu.
Melihat log untuk project atau MIG
Untuk melihat entri log project atau untuk MIG tertentu, gunakan konsol Google Cloud, gcloud CLI, atau REST.
Konsol
gcloud
Gunakan perintah
gcloud logging read
untuk melihat dan membaca entri log.Untuk melihat semua log perubahan status respons di project Anda, gunakan perintah berikut:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*'\ --limit 10
Untuk melihat semua log perubahan status respons untuk grup instance terkelola tertentu, gunakan perintah berikut:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"' \ --limit 10
Ganti kode berikut:
REST
Untuk melihat log perubahan status respons, buat permintaan
POST
ke metodeentries.list
.Untuk melihat semua log perubahan status respons di project Anda, gunakan perintah berikut:
curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:*", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Untuk melihat log perubahan status respons untuk grup instance terkelola tertentu, gunakan perintah berikut:
curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name=MIG_NAME", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Ganti kode berikut:
Untuk mengetahui informasi selengkapnya tentang setiap entri log, lihat Format entri log.
Bergantung pada apakah Anda ingin mengarsipkan log, menggunakan log untuk analisis, mengirimkan log ke aplikasi lain, atau memicu Cloud Function, Anda dapat mengekspor log ke tujuan seperti Cloud Storage, BigQuery, atau Pub/Sub. Untuk mengetahui informasi selengkapnya tentang cara mengekspor log, lihat Ringkasan ekspor log.
Melihat log perubahan status respons untuk VM tertentu
Untuk melihat entri log instance terkelola tertentu, gunakan konsol Google Cloud, gcloud CLI, atau REST.
Konsol
gcloud
Gunakan perintah
gcloud logging read
untuk melihat dan membaca entri log.Untuk melihat log perubahan status respons instance terkelola, gunakan perintah berikut:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"' \ --limit 10
Ganti kode berikut:
REST
Untuk melihat log perubahan status respons instance terkelola, buat permintaan
POST
ke metodeentries.list
.curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:* AND labels.\"compute.googleapis.com/instance_name\"=\"INSTANCE_NAME\"", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Ganti kode berikut:
Format entri log
Entri log perubahan status respons instance berisi informasi yang berguna untuk memantau dan men-debug status instance terkelola Anda.
Log ditulis ke log platform dengan nama log
instance_group_manager_events
. Log platform membantu Anda melakukan debug dan memecahkan masalah.logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events"
Entri log perubahan status respons berisi jenis informasi berikut:
Dalam setiap entri log perubahan status respons, kolom
jsonPayload.instanceHealthStateChange
berisi informasi berikut:Kolom Deskripsi instance
URL untuk instance, berdasarkan project ID string dan nama instance. instanceWithId
URL untuk instance, berdasarkan project ID numerik dan ID instance-nya. ipAddress
Alamat IP instance, seperti yang diperiksa oleh health check. network
URL resource jaringan untuk instance ini, berdasarkan project ID string dan nama jaringan. networkWithId
URL resource jaringan untuk instance ini, berdasarkan project ID numerik dan ID jaringannya. healthCheck
URL untuk health check yang dikonfigurasi bagi grup instance terkelola. previousDetailedHealthState
Status respons instance sebelumnya. Untuk mengetahui daftar status yang memungkinkan, lihat status respons. detailedHealthState
Status respons instance saat ini. Untuk mengetahui daftar status yang memungkinkan, lihat status respons. notificationTime
Stempel waktu saat perubahan status respons terjadi. Kolom log berjenis boolean biasanya hanya muncul jika memiliki nilai
true
. Jika kolom boolean memiliki nilaifalse
, kolom tersebut akan dihilangkan dari log.Encoding UTF-8 diterapkan untuk kolom log. Karakter yang bukan karakter UTF-8 akan diganti dengan tanda tanya.
Contoh entri log
Contoh berikut menunjukkan perubahan status respons instance VM dari
HEALTHY
menjadiUNHEALTHY
:{ "logName": "projects/my-project/logs/compute.googleapis.com%2Finstance_group_manager_events", "resource": { "type": "gce_instance_group_manager", "labels": { "instance_group_manager_id": "3138236342290985981", "instance_group_manager_name": "my-mig", "project_id": "my-project", "location": "europe-west3" } }, "labels": { "compute.googleapis.com/instance_id": "6498902454451155884", "compute.googleapis.com/instance_location": "europe-west3-a", "compute.googleapis.com/instance_name": "my-mig-a" }, "timestamp": "2019-11-19T15:47:57.127Z", "severity": "INFO", "jsonPayload": { "@type": "type.googleapis.com/compute.InstanceGroupManagerEvent", "instanceHealthStateChange": { "instance": "projects/my-project/zones/europe-west3-a/instances/my-mig-a", "instanceWithId": "projects/123456/zones/europe-west3-a/instances/6498902454451155884", "ipAddress": "10.0.0.4", "network": "projects/my-project/global/networks/net-1", "networkWithId": "projects/123456/global/networks/456", "healthCheck": "projects/my-project/global/healthChecks/my-mig-health-check", "previousDetailedHealthState": "HEALTHY", "detailedHealthState": "UNHEALTHY", "notificationTime": "2019-11-19T15:47:56.444Z" } }, "receiveTimestamp": "2019-11-19T15:47:57.296439184Z" }
Kasus penggunaan
Anda dapat menggunakan log perubahan status respons dalam skenario pemantauan atau proses debug berikut:
Memantau perubahan status respons VM
Anda dapat memantau seberapa sering status respons instance VM berubah dengan membuat metrik yang melacak perubahan status respons VM tertentu tersebut.
Untuk membuat metrik dan memantau perubahan, lakukan tindakan berikut:
Memantau perubahan status respons semua VM di MIG
Anda dapat memantau perubahan status respons semua instance terkelola dengan membuat metrik yang melacak perubahan status respons instance terkelola.
Untuk membuat metrik dan memantau perubahan, lakukan tindakan berikut:
Mengidentifikasi VM yang sering tidak responsif
Anda dapat mengidentifikasi VM bermasalah yang sering mengalami
UNHEALTHY
dengan membuat metrik yang melacak perubahan status respons semua instance VM di MIG Anda dan mengelompokkan metrik berdasarkan instance.Untuk membuat metrik dan mengelompokkan berdasarkan instance, lakukan tindakan berikut:
Instance dengan perubahan status respons terbanyak secara agregat adalah instance yang paling sering tidak responsif.
Memeriksa penyebab upaya autohealing
Anda dapat mengetahui penyebab upaya autohealing dengan memfilter log untuk operasi
repair
bagi instance VM tertentu.Untuk memfilter operasi perbaikan, lakukan hal berikut:
Memeriksa apakah autohealing berhasil untuk VM atau tidak
Anda dapat mengetahui apakah upaya autohealing berhasil untuk sebuah instance VM dengan memfilter log untuk operasi
repair
dan perubahan respons berdasarkan nama instance VM. Jika status respons instance berubah menjadiHEALTHY
setelah operasi perbaikan, Anda akan melihat log perubahan status respons yang sesuai. Ikuti langkah-langkahnya:Menentukan nilai penundaan awal MIG
Menentukan nilai penundaan awal yang sesuai untuk autohealing MIG lebih mudah dengan logging status respons instance VM. Anda dapat menggunakan log untuk mengamati waktu antara saat operasi
instances.insert
selesai dan saat sinyal responsif pertama diterima untuk sekumpulan instance dalam sebuah grup. Interval waktu ini menampilkan waktu yang diperlukan instance untuk melakukan booting sepenuhnya. Karena beberapa VM mungkin melakukan booting lebih lambat dari yang lain, Google merekomendasikan penambahan sejumlah margin ke waktu inisialisasi yang diamati (dari operasi penyisipan hingga status responsif) saat menentukan penundaan awal dalam kebijakan autohealing.Untuk mengukur waktu antara operasi penyisipan instance dan instance menjadi responsif, jalankan kueri untuk operasi
insert
dan log perubahan respons berdasarkan nama instance VM. Gunakan stempel waktu dari kedua operasi untuk menghitung waktu inisialisasi instance. Ikuti langkah-langkahnya:Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2024-11-27 UTC.
-