Visualizza i log del gestore della scalabilità automatica

Quando abiliti la scalabilità automatica, il gestore della scalabilità automatica prende decisioni di scalabilità in base le opzioni da te specificate. Ogni decisione di scalabilità viene registrata Cloud Logging. Leggi questi log nel Esplora log per comprendere meglio le decisioni di scalabilità del gestore della scalabilità automatica.

Con Esplora log puoi visualizzare gli eventi relativi a:

  • Suggerimento del gestore della scalabilità automatica per il ridimensionamento di un gruppo di istanze gestite. Se il gestore della scalabilità automatica calcola una nuova dimensione consigliata per un gruppo di istanze gestite, la modifica la dimensione consigliata è descritta nei log del gestore della scalabilità automatica. Consulta: Ridimensiona voce di log.
  • Modifiche allo stato del gestore della scalabilità automatica. Ad esempio, se il gestore della scalabilità automatica previsto, ma si è verificato un problema, la modifica dello stato come descritto nei log del gestore della scalabilità automatica. Consulta Voce del log delle modifiche di stato.

Prima di iniziare

  • Leggi la documentazione sulla scalabilità automatica.
  • Disporre di un gestore della scalabilità automatica attivo per il quale vuoi visualizzare i log.
  • Scopri come utilizzare Esplora log.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è la procedura di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Visualizza i log del gestore della scalabilità automatica

Per visualizzare i log del gestore della scalabilità automatica, utilizza la console Google Cloud, con gcloud CLI o REST.

Console

Se hai attivato la scalabilità automatica, puoi visualizzare i log di scalabilità automatica Console Google Cloud.

  1. Vai alla pagina Esplora log.

    Vai a Esplora log

  2. Trascina il menu a discesa Risorsa e seleziona Gestore della scalabilità automatica.

Puoi anche accedere alla pagina Esplora log dal tuo gruppo di istanze gestite come che segue:

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

  2. Fai clic sul nome del gruppo di istanze gestite per cui vuoi visualizzare i log.

  3. Fai clic sulla scheda Monitoring.

  4. Nella scheda Monitoring, il riquadro Log si trova nella parte inferiore . Apri il riquadro per facendo clic sull'icona alla fine di questo riquadro.

  5. Per aprire la pagina Esplora log, fai clic su Visualizza in Esplora log. in questo riquadro. Si apre Esplora log con una query predefinita da recuperare di tutti i log del gestore della scalabilità automatica del gruppo di istanze gestite.

gcloud

Per cercare tutti i log relativi alla scalabilità automatica, utilizza Comando logging read. Ad esempio:

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

Per visualizzare i log del gestore della scalabilità automatica di un gruppo di istanze gestite specifico, specifica instance_group_manager_name come segue:

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

Per visualizzare le voci di log relative al gestore della scalabilità automatica azioni di ridimensionamento, specifica il metodo compute.autoscalers.resize nome:

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

Per visualizzare le voci di log relative al gestore della scalabilità automatica modifiche allo stato, specifica compute.autoscalers.changeStatus nome metodo:

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

Presenta una richiesta a API V2 Logging. Il corpo della richiesta deve contenere il parametro filter da utilizzare durante la ricerca per i log e il project per i quali vuoi visualizzare i log. Ad esempio, per rendere una richiesta per ottenere un elenco delle azioni di ridimensionamento di un gruppo di istanze gestite specifico:

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"
  ]
}

Per effettuare una richiesta per ottenere un elenco delle modifiche allo stato di un gruppo di istanze gestite specifico:

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"
  ]
}

Ridimensiona voce di log

Quando il gestore della scalabilità automatica calcola le dimensioni consigliate per il tuo gruppo di istanze gestite, Compute Engine crea una voce di log che acquisisca le nuove e vecchie dimensioni consigliate. Per i gruppi di istanze gestite a livello di zona, la voce di log acquisisce anche il motivo della modifica nel dimensione consigliata.

Di seguito è riportato un esempio di voce di log per un gruppo di istanze gestite a livello di zona. In questo esempio, in base alla scalabilità automatica predittiva, il gestore della scalabilità automatica ha calcolato 3 VM per raggiungere Target di utilizzo della CPU di 35%. Ma il numero massimo di istanze configurato nel criterio di scalabilità automatica è solo 2. Pertanto, il gestore della scalabilità automatica limita taglia consigliata a 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"
    }

Nella tabella seguente vengono descritti i campi della voce di log:

Proprietà Valore
autoscalingMode La modalità di scalabilità automatica nel momento in cui la voce è stata registrata. Indipendentemente dalla modalità, il gestore della scalabilità automatica calcola taglia consigliata, rappresentato da newSize nel log. In base a la modalità di scalabilità automatica, il gestore della scalabilità automatica ridimensiona il gruppo di istanze gestite in questo modo:
  • ON: il gestore della scalabilità automatica ridimensiona il gruppo di istanze gestite a newSize.
  • OFF: il gestore della scalabilità automatica non ridimensiona il gruppo di istanze gestite.
  • ONLY_SCALE_OUT: il gestore della scalabilità automatica ridimensiona il gruppo di istanze gestite solo se newSize è superiore alla dimensione target del gruppo di istanze gestite.
autoscalingReason Dettagli sul motivo della scalabilità automatica. Questo campo viene visualizzato solo gruppi di istanze gestite a livello di zona.
autoscalingReason.scalingLimit Dettagli sulla funzionalità di scalabilità automatica che limitava calculatedSize, ovvero le dimensioni calcolate dal gestore della scalabilità automatica in base all'indicatore di scalabilità automatica. Le funzionalità di scalabilità automatica che possono limitare calculatedSize è il numero massimo o minimo di istanze, i controlli di scale in, o il periodo di stabilizzazione. Se non si applica alcun limite a calculatedSize, Il campo scalingLimit non viene visualizzato nei log.
autoscalingReason.scalingLimit.limitPolicy La configurazione della scalabilità automatica funzionalità che ha limitato calculatedSize. La Il campo limitPolicy non è impostato quando la stabilizzazione limita le calculatedSize perché la stabilizzazione è un la funzionalità predefinita di scalabilità automatica.
autoscalingReason.scalingLimit.limitSize Il numero di VM in base alla scalabilità automatica funzionalità che ha limitato calculatedSize.
autoscalingReason.scalingLimit.name Il nome della funzionalità di scalabilità automatica che ha limitato calculatedSize.
autoscalingReason.scalingSignal I dettagli sull'indicatore di scalabilità automatica utilizzato per calcolare il numero di VM che il gruppo di istanze gestite dovrebbe avere. Se il criterio di scalabilità automatica ha più indicatori, il gestore della scalabilità automatica considera l'indicatore che richiede il numero più elevato di VM.
autoscalingReason.scalingSignal.calculatedSize Il numero di VM che il gruppo di istanze gestite dovrebbe avere in base alla scalabilità automatica segnale. Se si applica scalingLimit, il gestore della scalabilità automatica limita calculatedSize a scalingLimit.limitSize.
autoscalingReason.scalingSignal.calculationDetails Dettagli utilizzati per determinare il calculatedSize.
  • servingSize: il numero di VM nel gruppo di istanze gestite, escluso il gruppo VM ancora presenti periodo di inizializzazione.
  • signalTarget: il valore target assegnato dal gestore della scalabilità automatica consente di mantenere l'utilizzo della CPU (in tempo reale), l'utilizzo previsto della CPU, utilizzo del bilanciamento del carico o una metrica configurata con l'utilizzo target.
  • singleInstanceAssignment: se la scalabilità si basa su una della metrica che rappresenta la quantità totale di lavoro da eseguire, quindi singleInstanceAssignment è la quantità di lavoro che gestibili da ciascuna VM.
  • signalValue: il valore dell'indicatore di scalabilità automatica. Se signalTarget è impostato, poi il gestore della scalabilità automatica confronta signalValue con signalTarget per per calcolare il numero di VM necessarie, rappresentato dal calculatedSize.
autoscalingReason.scalingSignal.name Il nome dell'indicatore di scalabilità automatica in base al quale il gestore della scalabilità automatica calcolato il numero di VM, rappresentate da calculatedSize nel log.
autoscalingReason.scalingSignal.signalPolicy La configurazione dell'indicatore di scalabilità automatica in base al quale il gestore della scalabilità automatica ha determinato calculatedSize.
autoscalingReason.summary Una descrizione del motivo della scalabilità automatica.
newSize La dimensione attuale consigliata del gruppo di istanze gestite. In base autoscalingMode, il gestore della scalabilità automatica ridimensiona il gruppo di istanze gestite al newSize come segue:
  • ON: il gestore della scalabilità automatica ridimensiona il gruppo di istanze gestite a newSize.
  • OFF: il gestore della scalabilità automatica non ridimensiona il gruppo di istanze gestite.
  • ONLY_SCALE_OUT: il gestore della scalabilità automatica ridimensiona il gruppo di istanze gestite solo se newSize è superiore alla dimensione target del gruppo di istanze gestite.
oldSize La precedente dimensione consigliata del gruppo di istanze gestite.

Per informazioni sugli altri campi della voce di log, consulta Formato delle voci degli audit log.

Voce di log delle modifiche allo stato

Quando cambia lo stato del gestore della scalabilità automatica, Compute Engine crea una voce di log che acquisisce i messaggi di stato vecchi e nuovi. Puoi utilizzare questi stati messaggi per scoprire perché il gestore della scalabilità automatica non si comporta come previsto eseguire il debug di problemi precedenti che hai notato. Per alcuni dei messaggi di stato più comuni, vedi Messaggi di stato restituiti più di frequente.

I seguenti campi nella protoPayload descrivono gli stati vecchio e nuovo:

  • metadata.newStatus.details: il nuovo stato del gestore della scalabilità automatica.
  • metadata.oldStatus.details: lo stato precedente del gestore della scalabilità automatica.

Di seguito è riportato un esempio di voce di log che descrive una modifica dello stato. Nel in questo esempio, potresti notare il nuovo messaggio di stato che indica problemi della configurazione del bilanciamento del carico.

    {
      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"
      }
    }

Per informazioni sugli altri campi della voce di log, consulta Formato delle voci degli audit log.

Passaggi successivi