Quando attivi la scalabilità automatica, il gestore della scalabilità automatica prende decisioni di ridimensionamento in base alle opzioni specificate. Ogni decisione di scalabilità viene registrata da Cloud Logging. Leggi questi log in Esplora log per comprendere meglio le decisioni di scalabilità del gestore della scalabilità automatica.
Con Esplora log puoi visualizzare gli eventi relativi a:
- Consiglio del gestore della scalabilità automatica per il ridimensionamento di un gruppo di istanze gestite (MIG). Se il gestore della scalabilità automatica calcola una nuova dimensione consigliata per un gruppo di istanze gestite, la modifica della dimensione consigliata è descritta nei log del gestore della scalabilità automatica. Vedi Modificare le dimensioni di una voce del log.
- Modifiche allo stato del gestore della scalabilità automatica. Ad esempio, se il gestore della scalabilità automatica funzionava come previsto, ma ha riscontrato un problema, la modifica dello stato verrà descritta nei log del gestore della scalabilità automatica. Consulta la voce del log delle modifiche dello stato.
Prima di iniziare
- Leggi la documentazione sull'autoscaling.
- Avere un gestore della scalabilità automatica attivo per cui vuoi visualizzare i log.
- Scopri come utilizzare Esplora log.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API. Google Cloud
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione Google Cloud sull'autenticazione.
-
Visualizzare i log del gestore della scalabilità automatica
Per visualizzare i log dell'autoscalabilità, utilizza la console Google Cloud, l'interfaccia a riga di comando gcloud o REST.
Se hai attivato l'autoscaling, puoi visualizzare i relativi log nella console Google Cloud.
- Vai alla pagina Esplora log.
- Espandi il menu a discesa Risorsa e seleziona Autoscaler.
Puoi anche andare alla pagina Esplora log dal tuo MIG come segue:
Nella console Google Cloud, vai alla pagina Gruppi di istanze.
Fai clic sul nome del gruppo di istanze gestite per cui vuoi visualizzare i log.
Fai clic sulla scheda Monitoraggio.
Nella scheda Monitoraggio, il riquadro Log si trova nella parte inferiore della pagina. Apri il riquadro facendo clic sull'icona alla fine di questo riquadro.
Per aprire la pagina Esplora log, fai clic sull'icona Visualizza in Esplora log in questo riquadro. L'esploratore dei log si apre con una query predefinita per recuperare tutti i log del gestore della scalabilità automatica del gruppo di istanze gestite.
Per cercare tutti i log relativi alla scalabilità automatica, utilizza il 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 alle azioni di ridimensionamento del gestore della scalabilità automatica, specifica il nome del metodo 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
Per visualizzare le voci di log relative alle modifiche dello stato dell'autoscaler, specifica il nome del metodo 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
Invia una richiesta all'API Logging v2.
Il corpo della richiesta deve contenere il parametro filter
da utilizzare per la ricerca dei log e il project
per cui vuoi visualizzare i log. Ad esempio, per effettuare
una richiesta per ottenere un elenco di 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 dello 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 una dimensione consigliata per il gruppo di istanze gestite, Compute Engine crea una voce di log che acquisisce le dimensioni consigliate nuove e precedenti. Per i MIG zonali, la voce del log acquisisce anche il motivo della modifica della 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 il
target di utilizzo della CPU di 35%
. Tuttavia, il numero massimo di istanze
configurato nel criterio di scalabilità automatica è solo 2
. Di conseguenza, il gestore della scalabilità automatica limita la dimensione 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" }
La tabella seguente descrive i campi della voce di log:
Proprietà | Valore |
---|---|
autoscalingMode |
La modalità di scalabilità automatica
al momento della registrazione della voce. Indipendentemente dalla modalità, il
gestore della scalabilità automatica calcola la
dimensione consigliata,
rappresentata da newSize nel log. A seconda della modalità di scalabilità automatica, il ridimensionamento automatico del gruppo di istanze gestite avviene nel seguente modo:
|
autoscalingReason |
Dettagli sul motivo della scalabilità automatica. Questo campo viene visualizzato solo per i gruppi di istanze gestite zonali. |
autoscalingReason.scalingLimit
|
Dettagli sulla funzionalità di scalabilità automatica che ha limitato calculatedSize , ovvero la dimensione calcolata dal gestore della scalabilità automatica in base all'indicatore di scalabilità automatica. Le funzionalità di scalabilità automatica che possono limitare
il calculatedSize sono il numero massimo o minimo di
istanze, i controlli di riduzione o il
periodo di stabilizzazione.
Se a calculatedSize non viene applicato alcun limite, il
campo scalingLimit non viene visualizzato nei log.
|
autoscalingReason.scalingLimit.limitPolicy
|
La configurazione della funzionalità di scalabilità automatica che ha limitato calculatedSize . Il
campo limitPolicy non è impostato quando la stabilizzazione limita il
calculatedSize perché la stabilizzazione è una
funzionalità predefinita della scalabilità automatica.
|
autoscalingReason.scalingLimit.limitSize
|
Il numero di VM in base alla funzionalità di scalabilità automatica
che ha limitato il valore calculatedSize .
|
autoscalingReason.scalingLimit.name
|
Il nome della funzionalità di scalabilità automatica che ha limitato
calculatedSize . |
autoscalingReason.scalingSignal
|
Dettagli sull'indicatore di scalabilità automatica utilizzato per calcolare il numero di VM che deve avere il MIG. Se il criterio di scalabilità automatica ha più indicatori, il gestore della scalabilità automatica prende in considerazione l'indicatore che richiede il maggior numero di VM. |
autoscalingReason.scalingSignal.calculatedSize
|
Il numero di VM che il gruppo di istanze gestite deve avere in base all'indicatore di ridimensionamento automatico. Se si applica scalingLimit , lo scalatore automatico limita
calculatedSize a scalingLimit.limitSize .
|
autoscalingReason.scalingSignal.calculationDetails
|
Dettagli utilizzati per determinare il valore calculatedSize .
|
autoscalingReason.scalingSignal.name
|
Il nome dell'indicatore di ridimensionamento automatico in base al quale il gestore della scalabilità automatica
ha calcolato il numero di VM, rappresentato da calculatedSize
nel log.
|
autoscalingReason.scalingSignal.signalPolicy
|
La configurazione dell'indicatore di scalabilità automatica in base alla quale il gestore della scalabilità automatica ha determinato calculatedSize .
|
autoscalingReason.summary
|
Una descrizione del motivo della scalabilità automatica. |
newSize
|
Le dimensioni consigliate attuali del MIG. A seconda del valore di autoscalingMode , il ridimensionatore automatico ridimensiona il gruppo di istanze gestite in base al valore di newSize come segue:
|
oldSize
|
Le dimensioni consigliate precedenti del gruppo di istanze gestite. |
Per informazioni sugli altri campi della voce del log, consulta Formato delle voci del log di controllo.
Voce del log della modifica dello stato
Quando lo stato dell'autoscalatore cambia, Compute Engine crea una voce di log che acquisisce i messaggi di stato vecchi e nuovi. Puoi utilizzare questi messaggi di stato per scoprire perché il ridimensionamento automatico non si comporta come previsto o per eseguire il debug di problemi passati che hai notato. Per alcuni dei messaggi di stato comuni, consulta Messaggi di stato restituiti di frequente.
I seguenti campi in
protoPayload
descrivono gli stati vecchi e nuovi:
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. In questo esempio, potresti notare il nuovo messaggio di stato che indica problemi con la 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 del log, consulta Formato delle voci del log di controllo.
Passaggi successivi
- Aggiorna l'autoscalabilità utilizzando le informazioni ricevute dai log.
- Scopri in che modo il gestore della scalabilità automatica prende decisioni.
- Esamina le opzioni di scalabilità automatica.