Memecahkan Masalah VM Manager


Dokumen ini menjelaskan cara memecahkan masalah terkait VM Manager.

Untuk informasi selengkapnya tentang VM Manager, lihat VM Manager.

Sebelum memulai

  • Siapkan autentikasi, jika Anda belum melakukannya. Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. Menetapkan region dan zona default.

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init

Ringkasan

Untuk memecahkan masalah, verifikasi terlebih dahulu bahwa VM Manager disiapkan dengan benar. Jika penyiapan sudah benar dan Anda masih mengalami masalah, Anda dapat meninjau log. Saat meninjau log, Anda dapat mengidentifikasi masalah pada VM atau dalam alur kerja VM Manager, seperti error dalam perintah atau skrip, yang dapat Anda pisahkan dan selesaikan.

Anda dapat mengumpulkan informasi berikut dari log:

  • Pesan error atau peringatan apa pun yang dicatat dalam log oleh VM. Cara ini ideal untuk mengidentifikasi error tingkat VM, atau error dari layanan lain yang berjalan pada VM Anda. Untuk meninjau log ini, lihat Memeriksa Cloud Logging.
  • Informasi debug panjang yang dicatat ke dalam log oleh agen Konfigurasi OS. Hal ini berguna untuk mengidentifikasi masalah pada operasi apa pun yang dijalankan oleh VM Manager. Guna memeriksa log debug untuk agen OS Config, lihat Memeriksa log debug.

Setelah mengidentifikasi masalah atau error, Anda juga dapat meninjau bagian error umum untuk melihat kemungkinan perbaikan.

Memeriksa Cloud Logging

Anda dapat menggunakan link cepat Konsol Google Cloud untuk setiap fitur guna melihat log untuk VM tertentu.

Patch OS

  1. Di konsol Google Cloud, buka tab Patch Jobs di halaman OS patch management.

    Buka Patch Jobs

  2. Klik nama tugas patch yang ingin Anda debug.
  3. Scroll ke bawah ke bagian Updated VM instances.
  4. Untuk VM tertentu, di bagian Logs, klik View.

Konfigurasi OS

Prosedur ini didukung untuk pengelolaan konfigurasi OS (pratinjau). Untuk pengelolaan konfigurasi OS (beta), gunakan opsi log debug, di bagian berikut.

  1. Di konsol Google Cloud, buka tab VM instances di halaman OS configuration management.

    Buka instance VM

  2. Klik nama VM yang ingin Anda debug.
  3. Scroll ke bawah ke bagian Policies.
  4. Di bagian Logs, klik View.

Memeriksa log debug

Anda dapat mengidentifikasi masalah pada fitur VM Manager apa pun dengan mengaktifkan proses debug untuk agen Konfigurasi OS dan melihat log debug.

Mengaktifkan logging debug untuk agen Konfigurasi OS

Anda dapat mengaktifkan logging debug dengan menetapkan metadata osconfig-log-level=debug pada instance atau project VM.

Untuk mengaktifkan logging debug di VM Anda, selesaikan langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Klik nama VM yang ingin Anda tetapkan nilai metadatanya.

  3. Di halaman Instance details, klik Edit untuk mengedit setelan.

  4. Di bagian Custom metadata, tambahkan entri metadata berikut:

    Kunci: osconfig-log-level
    Nilai: debug

  5. Klik Save untuk menerapkan perubahan ke VM.

gcloud

Gunakan perintah instances add-metadata dengan flag --metadata=osconfig-log-level=debug.

gcloud compute instances add-metadata VM_NAME \
    --metadata=osconfig-log-level=debug

Ganti VM_NAME dengan nama VM Anda.

REST

Untuk mengetahui petunjuk tentang cara menetapkan metadata instance, ikuti petunjuk API untuk menetapkan metadata instance.

Key-value pair berikut diperlukan sebagai bagian dari properti metadata:

Kunci: osconfig-log-level
Nilai: debug

Lihat log debug

Ketika logging debug diaktifkan, agen OS Config akan menulis entri log ke Cloud Logging dan konsol port serial.

Setelah Anda mengaktifkan logging debug di VM, agen Konfigurasi OS memerlukan waktu sekitar sepuluh menit untuk mulai menulis pesan debug di Cloud Logging. Anda dapat mengurangi waktu tunggu ini dengan memulai ulang agen atau me-reboot VM. Untuk mengetahui informasi lebih lanjut tentang Cloud Logging, lihat artikel Melihat log Cloud Logging.

Untuk melihat log debug, Anda dapat menggunakan opsi berikut:

  • Cloud Logging: gunakan konsol Google Cloud atau Google Cloud CLI
  • Konsol port serial

Konsol

  1. Buka halaman Logging > Logs Explorer (Logs Explorer) di konsol Google Cloud:

    Buka Logs Explorer

  2. Jika perlu, pilih project Google Cloud yang sudah ada di bagian atas halaman, atau buat project baru.

  3. Di menu drop-down Resource, pilih VM Instance. Daftar VM yang tersedia (instance_id) akan ditampilkan.

  4. Klik VM yang ingin Anda lihat.

  5. Klik Add.

  6. Pada menu drop-down Log name, pilih OSConfigAgent.

  7. Klik Tambahkan.

  8. Kueri Anda harus mirip dengan kueri berikut ini:

    resource.type="gce_instance" resource.labels.instance_id="136126869923081757"
    logName="projects/my-vm-manager-project/logs/OSConfigAgent"
    
  9. Klik Run query.

gcloud

Jalankan gcloud logging read perintah.

 gcloud logging read "resource.type=gce_instance AND logName=projects/PROJECT_ID/logs/OSConfigAgent"
 

Ganti PROJECT_ID dengan project ID Anda.

Port serial

Untuk melihat informasi log debug dari konsol port serial, lihat Melihat output port serial.

Error yang biasa terjadi

Masalah Authentication

Agar VM Manager dapat berfungsi, Anda harus memiliki hal berikut:

  • Akun layanan terlampir. VM Manager menggunakan akun layanan ini untuk menandatangani permintaan ke layanan API.
  • Pastikan akun layanan yang terlampir memiliki peran roles/logging.logWriter untuk menulis log ke Logging API.
  • Agen Layanan Konfigurasi Google Cloud OS. VM Manager membuat agen layanan ini saat memulai tugas patch dan memberinya peran Agen Layanan Konfigurasi Cloud OS. Untuk membuat kebijakan OS, Anda tidak perlu mengonfigurasi agen layanan ini.

Jika menggunakan VM Manager dan tidak memiliki akun layanan yang terpasang, atau Agen Layanan Config Google Cloud OS, Anda mungkin melihat error berikut saat bekerja dengan tugas patch:

Service account permissions are missing. Verify that the service account has the correct permissions and try again.
OSConfigAgent Error main.go:88: error getting token from metadata: metadata: GCE metadata "instance/service-accounts/default/identity?audience=osconfig.googleapis.com&format=full" not defined
message: "Error running OPERATION_NAME: error calling OPERATION_NAME: code: "PermissionDenied", message: "The caller does not have permission", details: []"

Masalah autentikasi juga dapat mencegah instance VM muncul di dasbor Patch.

Untuk mengatasi masalah tersebut, coba salah satu atau semua langkah berikut:

  • Pastikan semua VM memiliki akun layanan terlampir.
  • Pastikan peran Agen Layanan Konfigurasi Cloud OS (roles/osconfig.serviceAgent) ditetapkan pada Agen Layanan Konfigurasi Google Cloud OS.

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com' \
      --role='roles/osconfig.serviceAgent'
    

    Ganti kode berikut:

Error saat mengecualikan paket untuk update patch

Jika Anda menentukan karakter pengganti atau karakter khusus untuk nama paket saat mengecualikan paket dalam tugas patch, OS patch management mungkin akan mengabaikan daftar tersebut dan memperbarui semua paket.

Untuk mengatasi masalah ini, update agen Konfigurasi OS ke versi 20220829.00 dan gunakan garis miring (/) untuk menggabungkan nama paket.

Pada contoh berikut, OS patch management mengecualikan paket yum dengan awalan google- dalam nama paket.

      gcloud compute os-config patch-jobs execute --instance-filter-all
--yum-excludes=/google-.*/

Apa langkah selanjutnya?