Melihat log autoscaler


Saat Anda mengaktifkan penskalaan otomatis, autoscaler akan membuat keputusan penskalaan berdasarkan opsi yang Anda tentukan. Setiap keputusan penskalaan dicatat ke dalam log oleh Cloud Logging. Baca log ini di Logs Explorer untuk lebih memahami keputusan penskalaan otomatis autoscaler.

Dengan Logs Explorer, Anda dapat melihat peristiwa yang terkait dengan:

  • Rekomendasi autoscaler untuk mengubah ukuran grup instance terkelola (MIG). Jika autoscaler menghitung ukuran baru yang direkomendasikan untuk MIG, perubahan pada ukuran yang direkomendasikan akan dijelaskan dalam log autoscaler. Lihat Mengubah ukuran entri log.
  • Perubahan pada status autoscaler. Misalnya, jika autoscaler berfungsi seperti yang diharapkan, tetapi kemudian mengalami masalah, perubahan status akan dijelaskan di log autoscaler. Lihat Entri log perubahan status.

Sebelum memulai

  • Baca dokumentasi Penskalaan otomatis.
  • Memiliki autoscaler aktif yang ingin Anda lihat log-nya.
  • Tinjau cara menggunakan Logs Explorer.
  • 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

Melihat log autoscaler

Untuk melihat log penskala otomatis, gunakan Konsol Google Cloud, gcloud CLI, atau REST.

Konsol

Jika telah mengaktifkan penskalaan otomatis, Anda dapat melihat log penskalaan otomatis di konsol Google Cloud.

  1. Buka halaman Logs Explorer.

    Buka Logs Explorer

  2. Tarik ke bawah menu drop-down Resource dan pilih Autoscaler.

Anda juga dapat membuka halaman Logs Explorer dari MIG sebagai berikut:

  1. Di konsol Google Cloud, buka halaman Grup instance.

    Buka Grup instance

  2. Klik nama MIG yang ingin Anda lihat log-nya.

  3. Klik tab Pemantauan.

  4. Di tab Pemantauan, panel Log berada di bagian bawah halaman. Buka panel dengan mengklik ikon di akhir panel ini.

  5. Untuk membuka halaman Logs explorer, klik ikon Lihat di logs explorer pada panel ini. Log explorer akan terbuka dengan kueri default untuk mengambil semua log autoscaler MIG.

gcloud

Untuk mencari semua log yang terkait dengan penskalaan otomatis, gunakan perintah logging read. Contoh:

gcloud logging read "resource.type=autoscaler" --limit 10 \
    --format json

Untuk melihat log autoscaler dari MIG tertentu, tentukan instance_group_manager_name sebagai berikut:

gcloud logging read "resource.type=autoscaler AND \
    resource.labels.instance_group_manager_name=example-igm" \
    --limit 10 --format json

Untuk melihat entri log yang terkait dengan tindakan pengubahan ukuran autoscaler, tentukan nama metode compute.autoscalers.resize:

gcloud logging read "resource.type=autoscaler AND \
    resource.labels.instance_group_manager_name=example-igm AND \
    protoPayload.methodName=compute.autoscalers.resize" \
    --limit 10 --format json

Untuk melihat entri log yang terkait dengan perubahan status autoscaler, tentukan nama metode compute.autoscalers.changeStatus:

gcloud logging read "resource.type=autoscaler AND \
    resource.labels.instance_group_manager_name=example-igm AND \
    protoPayload.methodName=compute.autoscalers.changeStatus" \
    --limit 10 --format json

REST

Buat permintaan ke Logging V2 API. Isi permintaan harus berisi parameter filter yang akan digunakan saat menelusuri log dan project yang lognya ingin Anda lihat. Misalnya, untuk membuat permintaan guna mendapatkan daftar tindakan pengubahan ukuran MIG tertentu:

POST https://logging.googleapis.com/v2/entries:list

{
  "filter": "resource.type=autoscaler AND
    resource.labels.instance_group_manager_name=example-igm AND
    protoPayload.methodName=compute.autoscalers.resize",
  "pageSize": 10,
  "resourceNames": [
    "projects/example-project"
  ]
}

Untuk membuat permintaan guna mendapatkan daftar perubahan status MIG tertentu:

POST https://logging.googleapis.com/v2/entries:list

{
  "filter": "resource.type=autoscaler AND
    resource.labels.instance_group_manager_name=example-igm AND
    protoPayload.methodName=compute.autoscalers.changeStatus",
  "pageSize": 10,
  "resourceNames": [
    "projects/example-project"
  ]
}

Mengubah ukuran entri log

Saat autoscaler menghitung ukuran yang direkomendasikan untuk MIG Anda, Compute Engine akan membuat entri log yang mengambil ukuran baru dan lama yang direkomendasikan. Untuk MIG zona, entri log juga mencatat alasan perubahan dalam ukuran yang direkomendasikan.

Berikut adalah contoh entri log untuk MIG zona. Dalam contoh ini, berdasarkan penskalaan otomatis prediktif, autoscaler menghitung 3 VM untuk mencapai target penggunaan CPU sebesar 35%. Namun, jumlah maksimum instance yang dikonfigurasi dalam kebijakan penskalaan otomatis hanya 2. Jadi, autoscaler membatasi ukuran yang direkomendasikan menjadi 2.

    {
    insertId: "1l68z7sg4jw7kzo"
    logName: "projects/example-project/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload: {
      @type: "type.googleapis.com/google.cloud.audit.AuditLog"
      metadata: {
        @type: "type.googleapis.com/autoscaler.AutoscalerSizeChangeExplanation"
        autoscalingMode: "ON"
        autoscalingReason: {
          scalingLimit: {
            limitPolicy: {
              maxNumReplicas: 2
            }
            limitSize: 2
            name: "MAX_INSTANCES"
          }
          scalingSignal: {
            calculatedSize: 3
            calculationDetails: {
              servingSize: 1
              signalTarget: 0.35
              signalValue: 1.03533
            }
            name: "PREDICTED_CPU_UTILIZATION"
            signalPolicy: {
              coolDownPeriodSec: 15
              cpuUtilization: {
                predictiveMethod: "OPTIMIZE_AVAILABILITY"
                utilizationTarget: 0.35
              }
            }
          }
          summary: "The autoscaler's recommended size changed from 1 to 2
          because the autoscaler predicted that in 15 seconds the average CPU
          utilization across 1 serving instance will be 103.533%, which is above
          the utilization target of 35%. The calculated size was 3 to achieve
          the target CPU utilization but the size was limited by the maximum
          number of instances set in the autoscaling policy."
        }
        newSize: 2
        oldSize: 1
      }
      methodName: "compute.autoscalers.resize"
      resourceName: "projects/example-project/zones/us-east1-d/autoscalers/example-autoscaler"
      serviceName: "compute.googleapis.com"
    }
    receiveTimestamp: "2022-06-13T22:34:43.045973046Z"
    resource: {
      labels: {
        autoscaler_id: "1234567890123456789"
        autoscaler_name: "example-autoscaler"
        instance_group_manager_id: "1357908642148074125"
        instance_group_manager_name: "example-igm"
        location: "us-east1-d"
        project_id: "example-project"
      }
      type: "autoscaler"
    }
    severity: "INFO"
    timestamp: "2022-06-13T22:34:42.810216614Z"
    }

Tabel berikut menjelaskan kolom dari entri log:

Properti Nilai
autoscalingMode Mode penskalaan otomatis pada saat entri dicatat ke dalam log. Terlepas dari mode yang digunakan, autoscaler akan menghitung ukuran yang direkomendasikan, yang direpresentasikan oleh newSize dalam log. Bergantung pada mode penskalaan otomatis, autoscaler akan mengubah ukuran MIG sebagai berikut:
  • ON: Autoscaler mengubah ukuran MIG menjadi newSize.
  • OFF: Autoscaler tidak mengubah ukuran MIG.
  • ONLY_SCALE_OUT: Autoscaler mengubah ukuran MIG hanya jika newSize lebih besar dari ukuran target MIG.
autoscalingReason Detail tentang alasan penskalaan otomatis. Kolom ini hanya muncul untuk MIG zona.
autoscalingReason.scalingLimit Detail tentang fitur penskalaan otomatis yang membatasi calculatedSize, yang merupakan ukuran yang dihitung oleh autoscaler berdasarkan sinyal penskalaan otomatis. Fitur penskalaan otomatis yang dapat membatasi calculatedSize adalah jumlah instance maksimum atau minimum, kontrol penurunan skala, atau periode stabilisasi. Jika tidak ada batasan yang berlaku untuk calculatedSize, kolom scalingLimit tidak akan muncul dalam log.
autoscalingReason.scalingLimit.limitPolicy Konfigurasi fitur penskalaan otomatis yang membatasi calculatedSize. Kolom limitPolicy tidak ditetapkan saat stabilisasi membatasi calculatedSize karena stabilisasi adalah fitur default penskalaan otomatis.
autoscalingReason.scalingLimit.limitSize Jumlah VM berdasarkan fitur penskalaan otomatis yang membatasi calculatedSize.
autoscalingReason.scalingLimit.name Nama fitur penskalaan otomatis yang membatasi calculatedSize.
autoscalingReason.scalingSignal Detail tentang sinyal penskalaan otomatis yang digunakan untuk menghitung jumlah VM yang harus dimiliki MIG. Jika kebijakan penskalaan otomatis memiliki beberapa sinyal, autoscaler akan mempertimbangkan sinyal yang memerlukan jumlah VM terbesar.
autoscalingReason.scalingSignal.calculatedSize Jumlah VM yang harus dimiliki MIG berdasarkan sinyal penskalaan otomatis. Jika scalingLimit berlaku, autoscaler akan membatasi calculatedSize hingga scalingLimit.limitSize.
autoscalingReason.scalingSignal.calculationDetails Detail yang digunakan untuk menentukan calculatedSize.
  • servingSize: Jumlah VM di MIG, tidak termasuk VM yang masih dalam periode inisialisasi.
  • signalTarget: Nilai target yang dipertahankan oleh autoscaler untuk penggunaan CPU (real-time), prediksi penggunaan CPU, penggunaan load balancing, atau metrik yang dikonfigurasi dengan target penggunaan.
  • singleInstanceAssignment: Jika penskalaan didasarkan pada nilai metrik yang mewakili jumlah total tugas yang harus dilakukan, maka singleInstanceAssignment adalah jumlah tugas yang dapat ditangani oleh setiap VM.
  • signalValue: Nilai sinyal penskalaan otomatis. Jika signalTarget sudah ditetapkan, maka autoscaler akan membandingkan signalValue dengan signalTarget untuk menghitung berapa banyak VM yang diperlukan, yang diwakili oleh calculatedSize.
autoscalingReason.scalingSignal.name Nama sinyal penskalaan otomatis yang digunakan berdasarkan autoscaler yang menghitung jumlah VM, yang direpresentasikan oleh calculatedSize dalam log.
autoscalingReason.scalingSignal.signalPolicy Konfigurasi sinyal penskalaan otomatis berdasarkan autoscaler yang menentukan calculatedSize.
autoscalingReason.summary Deskripsi alasan penskalaan otomatis.
newSize Ukuran MIG yang direkomendasikan saat ini. Bergantung pada autoscalingMode, autoscaler akan mengubah ukuran MIG menjadi newSize sebagai berikut:
  • ON: Autoscaler mengubah ukuran MIG menjadi newSize.
  • OFF: Autoscaler tidak mengubah ukuran MIG.
  • ONLY_SCALE_OUT: Autoscaler mengubah ukuran MIG hanya jika newSize lebih besar dari ukuran target MIG.
oldSize Ukuran MIG yang direkomendasikan sebelumnya.

Untuk informasi tentang kolom lain dalam entri log, lihat Format entri log audit.

Entri log perubahan status

Saat status autoscaler berubah, Compute Engine akan membuat entri log yang mengambil pesan status lama dan baru. Anda dapat menggunakan pesan status ini untuk mencari tahu mengapa autoscaler tidak berperilaku seperti yang Anda harapkan atau untuk men-debug masalah sebelumnya yang Anda lihat. Untuk beberapa pesan status umum, lihat Pesan status yang biasa ditampilkan.

Kolom berikut di protoPayload menjelaskan status lama dan baru:

  • metadata.newStatus.details: Status baru autoscaler.
  • metadata.oldStatus.details: Status autoscaler sebelumnya.

Berikut adalah contoh entri log yang menjelaskan perubahan status. Dalam contoh ini, Anda mungkin melihat pesan status baru dan memastikan bahwa konfigurasi load balancing sudah disiapkan dengan benar.

    {
      insertId: "ivho6kg4icqfio"
      logName: "projects/example-project/logs/cloudaudit.googleapis.com%2Fsystem_event"
      protoPayload: {
        metadata: {
          @type: "type.googleapis.com/autoscaler.AutoscalerStatusChange"
          newStatus: {
            details: "The autoscaler is configured to scale based on a load
            balancing signal but the instance group has not received any
            utilization data from the load balancer or the utilization is
            constantly 0. Check that the load balancing configuration is
            working"
          }
          oldStatus: {
            details: "OK"
          },
          methodName: "compute.autoscalers.changeStatus"
          resourceName: "projects/example-project/zones/us-east1-b/autoscalers/example-autoscaler"
          serviceName: "compute.googleapis.com"
        }
        receiveTimestamp: "2022-06-08T03:54:12.332329320Z"
        resource: {
          labels: {
            autoscaler_id: "1234567890123456789"
            autoscaler_name: "example-autoscaler"
            instance_group_manager_id: "1357908642148074125"
            instance_group_manager_name: "example-igm"
            location: "us-east1-b"
            project_id: "example-project"
          }
          type: "autoscaler"
        }
        severity: "INFO"
        timestamp: "2022-06-08T03:54:10.675416812Z"
      }
    }

Untuk informasi tentang kolom lain dalam entri log, lihat Format entri log audit.

Langkah selanjutnya