Setiap instance virtual machine (VM) atau instance bare metal menggunakan kebijakan pemeliharaan host untuk menentukan perilaku instance selama operasi pemeliharaan. Beberapa instance menawarkan opsi tambahan untuk melihat jadwal pemeliharaan sebelumnya.
Halaman ini menjelaskan cara memantau dan merencanakan peristiwa pemeliharaan host di instance Compute Engine.
Sebelum memulai
-
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.
-
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) -
Untuk akses hanya baca ke log audit Peristiwa Sistem:
Logs Viewer (
roles/logging.viewer
) -
Untuk mendapatkan informasi tentang instance, termasuk metadata:
compute.instances.get
Kelompok mesin yang dioptimalkan akselerator:
Kelompok mesin tujuan umum:
Kelompok mesin yang dioptimalkan untuk memori:
Kelompok mesin yang dioptimalkan untuk penyimpanan:
- Lebih sedikit peristiwa pemeliharaan: Secara umum, instance dengan interval pemeliharaan berulang akan melihat lebih sedikit peristiwa pemeliharaan.
- Notifikasi pemeliharaan yang lebih lama: Dapatkan notifikasi tentang peristiwa pemeliharaan jauh-jauh hari untuk tujuan perencanaan.
- Pemantauan dan perencanaan: Gunakan Cloud Logging untuk melacak jadwal pemeliharaan Anda. Gunakan insiden dan pemberitahuan untuk terus mendapatkan informasi.
- Kontrol pemeliharaan on demand: Mulai pemeliharaan selama periode notifikasi untuk mengupdate instance saat sesuai dengan jadwal Anda.
- canReschedule: apakah pemeliharaan dapat dimulai secara manual selama
periode notifikasi untuk instance ini.
TRUE
: pemeliharaan yang dipicu pelanggan dapat dilakukan selama periode notifikasi.FALSE
: pemeliharaan yang dipicu pelanggan tidak dapat dilakukan pada instance ini. Hal ini sering terjadi selama periode saat instance menjalani pemeliharaan atau jika jenis instance tidak mendukung pemeliharaan on-demand.
- latestWindowStartTime: waktu terbaru yang dapat digunakan untuk memindahkan masa pemeliharaan.
- maintenanceStatus: status peristiwa pemeliharaan saat ini.
ONGOING
: operasi pemeliharaan sedang berlangsung.PENDING
: operasi pemeliharaan dijadwalkan, tetapi belum dimulai.
- type: jenis pemeliharaan yang akan dilakukan.
NONE
: Tidak ada pemeliharaan yang dijadwalkan untuk instance ini.SCHEDULED
: Untuk pemeliharaan yang mengganggu, Compute Engine memberikan pemberitahuan minimum 7 hari untuk sebagian besar instance; instance X4 mendapatkan pemberitahuan awal sekitar 60 hari.UNSCHEDULED
: Karena pemeliharaan mewakili update penting, Compute Engine mencoba memberikan pemberitahuan awal sebanyak mungkin, tetapi biasanya jauh lebih sedikit daripada untuk peristiwa pemeliharaan terjadwal.
- windowEndTime: akhir periode waktu saat pemeliharaan terjadi.
- windowStartTime: awal periode waktu saat pemeliharaan terjadi.
canReschedule=True
danmaintenanceStatus=Pending
— Anda dapat memulai peristiwa pemeliharaan secara manual untuk instance sebelum waktu mulai yang dijadwalkan.canReschedule=False
danmaintenanceStatus=Ongoing
—pemeliharaan sedang berlangsung dan tidak dapat dijadwalkan ulang.canReschedule=False
danmaintenanceStatus=Pending
—instance Anda tidak mendukung peristiwa pemeliharaan yang dipicu secara manual.INSTANCE_NAME
: Nama instance komputasi.ZONE_NAME
: Zona tempat instance berada.- Pemeliharaan dijadwalkan untuk tanggal dan waktu yang ditampilkan di
windowStartTime
. canReschedule
disetel keTrue
danmaintenanceStatus
disetel kePENDING
. Setelan ini menunjukkan bahwa Anda dapat memulai acara pemeliharaan terjadwal secara manual sebelum tanggal yang ditampilkan dilatestWindowStartTime
.PROJECT_NAME
: Nama project yang berisi instance komputasi.ZONE
: Zona tempat instance berada.INSTANCE_NAME
: nama instance- Pemeliharaan dijadwalkan untuk tanggal dan waktu yang ditampilkan di
windowStartTime
. canReschedule
disetel keTrue
danmaintenanceStatus
disetel kePENDING
. Setelan ini menunjukkan bahwa Anda dapat memulai acara pemeliharaan terjadwal secara manual sebelum tanggal yang ditampilkan dilatestWindowStartTime
.Buka halaman VM instances.
Klik Name instance yang ingin Anda lihat notifikasi pemeliharaannya.
Halaman Detail instance akan terbuka.
Di bagian Logs, klik link berlabel Logging.
Halaman Logs Explorer query editor akan terbuka. Di panel Kueri,
resource.type
dan ID instance sudah diisi untuk instance Anda.Di panel Query, tambahkan baris berikut ke kueri:
operation.producer="compute.instances.upcomingMaintenance" OR "compute.instances.terminateOnHostMaintenance" OR "compute.instances.migrateOnHostMaintenance"
Klik Run query. Peristiwa notifikasi pemeliharaan yang cocok akan muncul di panel hasil kueri.
Di panel hasil kueri, Anda dapat mengklik Edit time untuk memperluas jangka waktu penelusuran, atau untuk mempersempit hasil ke tanggal atau waktu tertentu.
Klik entri log untuk melihat detail notifikasi pemeliharaan.
- Untuk notifikasi pemeliharaan mendatang, luaskan judul
metadata
untuk melihat informasi seperti status, jenis, dan waktu mulai serta waktu berakhir jendela pemeliharaan terjadwal saat ini. - Luaskan judul
status
untuk melihat pesan deskriptif untuk notifikasi.
- Untuk notifikasi pemeliharaan mendatang, luaskan judul
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"PENDING"
windowStartTime
:"2024-07-23T20:00:00Z"
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"ONGOING"
windowStartTime
:"2024-07-23T20:00:00Z"
- Untuk instance yang dikonfigurasi untuk menggunakan migrasi langsung selama peristiwa pemeliharaan,
peristiwa sistem dengan
methodName: "compute.instances.migrateOnHostMaintenance"
. - Untuk instance yang dikonfigurasi untuk dihentikan selama peristiwa pemeliharaan,
peristiwa sistem dengan
methodName: "compute.instances.terminateOnHostMaintenance"
. methodName
:"compute.instances.upcomingMaintenance"
status: {
message: "Maintenance window has completed for this instance. All
maintenance notifications on the instance have been removed."
}
Buka halaman VM instances.
Klik Nama instance yang ingin Anda buat pemberitahuan peristiwa pemeliharaannya.
Halaman Detail instance akan terbuka.
Di bagian Logs, klik link berlabel Logging.
Halaman Logs Explorer query editor akan terbuka. Di panel Kueri,
resource.type
dan ID instance sudah diisi untuk instance Anda.Di panel Query, tambahkan baris berikut ke kueri:
operation.producer="compute.instances.upcomingMaintenance"
Klik Run query. Peristiwa notifikasi pemeliharaan yang cocok akan muncul di panel hasil kueri.
Di panel hasil kueri, klik Edit time.
- Di sisi kiri jendela edit, di kolom Waktu relatif, masukkan
1d
untuk melihat entri log selama seminggu terakhir. - Klik Terapkan.
- Di sisi kiri jendela edit, di kolom Waktu relatif, masukkan
Di header panel Query results, klik add_alert Create alert. Jika jendela tampilan Anda sempit, opsi Create alert mungkin muncul di menu Actions.
Di panel Create logs-based alert policy, di bagian Alert details, lakukan hal berikut:
- Masukkan nama untuk kebijakan pemberitahuan, misalnya
Upcoming maintenance for my-c3d-vm@us-central1-b
. Dari menu Tingkat keparahan kebijakan, pilih Tidak ada keparahan.
Di kolom Dokumentasi, Anda dapat memasukkan deskripsi untuk kebijakan pemberitahuan. Anda juga dapat menyertakan informasi yang mungkin membantu penerima notifikasi mendiagnosis masalah. String berikut merangkum alasan notifikasi:
Log-based alerting policy in project ${project} to monitor upcoming maintenance notifications. See also "Host maintenance alerts" and "onHostMaintenance actions" alerting policies.
Untuk mengetahui informasi tentang cara memformat dan menyesuaikan konten kolom ini, lihat Menggunakan Markdown dan variabel dalam template dokumentasi.
Untuk melanjutkan ke langkah berikutnya, klik Berikutnya.
- Masukkan nama untuk kebijakan pemberitahuan, misalnya
Di bagian Choose logs to include in the alert, periksa kueri dan hasil dengan mengklik Preview logs.
Kueri yang Anda buat di panel Kueri juga ditampilkan di panel ini. Sebaiknya buat kueri di panel Query Logs Explorer terlebih dahulu.
Anda dapat mengedit kueri di panel ini, jika perlu. Jika Anda mengedit kueri, periksa hasilnya dengan mengklik Pratinjau log.
Klik Berikutnya.
Di panel Set notification frequency and autoclose duration, lakukan hal berikut:
Pilih waktu minimum antarnotifikasi. Nilai ini memungkinkan Anda mengontrol jumlah notifikasi yang Anda dapatkan dari Pemantauan jika kondisi ini terpenuhi beberapa kali. Untuk contoh ini, pilih 1 hari dari opsi.
Untuk Incident autoclose duration, gunakan nilai maksimum 7 hari.
Klik Berikutnya.
Jika sudah mengonfigurasi saluran notifikasi email, Anda dapat memilihnya dari daftar. Jika belum, klik Kelola saluran notifikasi dan tambahkan saluran email. Untuk informasi tentang cara membuat saluran notifikasi, lihat Membuat dan mengelola saluran notifikasi.
Klik Simpan.
Kebijakan pemberitahuan berbasis log Anda kini siap diuji seperti yang dijelaskan dalam Menguji contoh kebijakan pemberitahuan berbasis log
- Pelajari cara Menetapkan kebijakan pemeliharaan host.
- Pelajari cara Mendapatkan pemberitahuan migrasi langsung.
- Pelajari cara Memicu peristiwa pemeliharaan host secara manual
- Pelajari cara mengelola kebijakan pemberitahuan berbasis log menggunakan Konsol Google Cloud untuk Monitoring atau menggunakan Monitoring API.
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.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat instance dan mengelola pemeliharaan instance, minta administrator untuk memberi Anda peran IAM berikut pada project:
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat instance dan mengelola pemeliharaan instance. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat instance dan mengelola pemeliharaan instance:
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Batasan
Anda dapat melihat notifikasi untuk peristiwa pemeliharaan mendatang pada instance hanya jika instance menggunakan jenis mesin dari salah satu keluarga mesin berikut:
Ringkasan notifikasi pemeliharaan
Google mengirimkan notifikasi untuk pemeliharaan host mendatang melalui beberapa metode. Saat periode pemeliharaan dibuka, Google Cloud akan otomatis melakukan pemeliharaan pada instance Anda. Dengan memantau periode pemeliharaan mendatang untuk instance, Anda dapat secara proaktif menyiapkan workload untuk menangani pemeliharaan mendatang dengan gangguan minimal.
Instance Compute yang mendukung notifikasi peristiwa pemeliharaan memiliki karakteristik berikut:
Informasi tentang peristiwa notifikasi mendatang ditampilkan dengan cara yang mirip dengan berikut:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2024-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2024-12-01T22:00:00Z" "windowStartTime": "2024-12-01T19:00:00Z" }
Jika tidak ada peristiwa pemeliharaan mendatang, Anda akan melihat pesan yang serupa seperti berikut:
{ "error": "no notifications have been received yet, try again later" }
Definisi status pemeliharaan
Definisi status berikut menjelaskan respons terhadap kueri tentang pemeliharaan host untuk instance. Peristiwa ini memberikan informasi terkait peristiwa pemeliharaan. Google Cloud CLI, REST, dan server metadata menggunakan respons yang sama ini:
Perilaku status pemeliharaan
Saat mengelola peristiwa pemeliharaan, periksa nilai untuk
canReschedule
danmaintenanceStatus
. Jika digabungkan, kolom ini menunjukkan tindakan yang dapat atau tidak dapat Anda lakukan terkait penjadwalan ulang peristiwa pemeliharaan:Melihat notifikasi pemeliharaan
Anda dapat menemukan notifikasi pemeliharaan dengan membuat kueri instance komputasi, server metadata, atau menggunakan Cloud Logging.
Memeriksa instance untuk notifikasi peristiwa pemeliharaan
Gunakan Google Cloud CLI, REST, atau buat kueri server metadata untuk melihat apakah ada peristiwa pemeliharaan host mendatang untuk instance Anda.
gcloud
Untuk melihat periode pemeliharaan mendatang untuk instance, gunakan perintah
gcloud compute instances describe
.gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE_NAME --format="yaml(upcomingMaintenance)"
Ganti kode berikut:
Jika ada peristiwa pemeliharaan mendatang, respons akan berisi bagian yang mirip dengan berikut ini:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2024-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2024-12-01T22:00:00Z" "windowStartTime": "2024-12-01T19:00:00Z" }
Dalam respons ini:
REST
Untuk melihat apakah ada pemeliharaan mendatang untuk instance, buat permintaan
GET
menggunakan metodeinstances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME
Ganti kode berikut:
Jika ada peristiwa pemeliharaan mendatang, respons akan berisi bagian yang mirip dengan berikut ini:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2023-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2023-12-01T22:00:00Z" "windowStartTime": "2023-12-01T19:00:00Z" }
Dalam respons ini:
Server metadata
Dari OS Tamu, buat kueri server metadata untuk melihat peristiwa pemeliharaan berikutnya.
$ curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
Memeriksa Cloud Logging untuk notifikasi peristiwa pemeliharaan
Compute Engine membuat peristiwa sistem di Cloud Audit Logs untuk instance untuk peristiwa pemeliharaan. Anda dapat melihat peristiwa ini sebelum, selama, dan setelah peristiwa pemeliharaan menggunakan Cloud Logging dan Logs Explorer.
Konsol
Untuk membuat kueri log audit guna mendapatkan notifikasi pemeliharaan untuk instance, selesaikan langkah-langkah berikut:
Contoh notifikasi pemeliharaan
Notifikasi peristiwa pemeliharaan untuk instance akan muncul di Logs Explorer dengan nilai yang mirip dengan berikut:
Saat peristiwa pemeliharaan dimulai, peristiwa informatif baru akan muncul dalam log dengan nilai yang mirip dengan berikut:
Selama peristiwa pemeliharaan, bergantung pada konfigurasi kebijakan pemeliharaan host untuk instance, salah satu peristiwa sistem berikut akan dicatat ke log audit:
Saat peristiwa pemeliharaan berakhir, peristiwa informatif baru akan muncul di log audit dengan nilai yang mirip dengan berikut ini:
Mengonfigurasi pemberitahuan untuk notifikasi pemeliharaan host
Anda dapat menyiapkan kebijakan pemberitahuan berbasis log untuk menelusuri peristiwa notifikasi pemeliharaan tertentu dan mengirim pemberitahuan menggunakan saluran notifikasi.
Konsol
Untuk membuat pemberitahuan peristiwa pemeliharaan untuk instance Anda, selesaikan langkah-langkah berikut:
Untuk mempelajari lebih lanjut, baca artikel Mengonfigurasi pemberitahuan berbasis log dan Membuat dan mengelola saluran notifikasi.
Langkah selanjutnya
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-12-22 UTC.
-