Quando abiliti la scalabilità automatica, il gestore della scalabilità automatica prende decisioni di scalabilità 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.
Utilizzando 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 delle dimensioni consigliate è descritta nei log del gestore della scalabilità automatica. Vedi Ridimensionamento della voce di log.
- Modifiche allo stato del gestore della scalabilità automatica. Ad esempio, se il gestore della scalabilità automatica funzionava come previsto, ma poi ha riscontrato un problema, la modifica dello stato viene descritta nei log del gestore della scalabilità automatica. Consulta Voce del log delle modifiche allo stato.
Prima di iniziare
- Leggi la documentazione sulla scalabilità automatica.
- Disponi di un gestore della scalabilità automatica attivo per cui vuoi visualizzare i log.
- Scopri come utilizzare Esplora log.
-
Configurare l'autenticazione.
Seleziona la scheda relativa a come intendi utilizzare gli esempi di questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi e alle API Google Cloud, non è necessario configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI, quindi inizializzalo eseguendo il comando seguente:
gcloud init
- Imposta una regione e una zona predefinite.
REST
Per utilizzare gli esempi di API REST su questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci allgcloud CLI.
Installa Google Cloud CLI, quindi inizializzalo eseguendo il comando seguente:
gcloud init
-
Visualizza i log del gestore della scalabilità automatica
Per visualizzare i log del gestore della scalabilità automatica, utilizza la console Google Cloud, gcloud CLI o REST.
Console
Se hai attivato la scalabilità automatica, puoi visualizzare i log della scalabilità automatica nella console Google Cloud.
- Vai alla pagina Esplora log.
- 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 segue:
Nella console Google Cloud, vai alla pagina Gruppi di istanze.
Fai clic sul nome del gruppo di istanze gestite per il quale vuoi visualizzare i log.
Fai clic sulla scheda Monitoring.
Nella scheda Monitoring, il riquadro Log si trova nella parte inferiore della pagina. Apri il riquadro facendo clic sull'icona alla fine del riquadro.
Per aprire la pagina Esplora log, fai clic sull'icona Visualizza in Esplora log in questo riquadro. Esplora log si apre con una query predefinita per recuperare tutti i log del gestore della scalabilità automatica del gruppo di istanze gestite.
gcloud
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 del gestore della scalabilità automatica, 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
REST
Invia una richiesta all'API Logging V2.
Il corpo della richiesta deve contenere il parametro filter
da utilizzare per la ricerca dei log e l'elemento project
di cui visualizzare i log. Ad esempio, per effettuare una richiesta di 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 tuo gruppo di istanze gestite, Compute Engine crea una voce di log acquisendo le dimensioni consigliate nuove e precedenti. Per i MIG di zona, la voce di log acquisisce anche il motivo della modifica delle dimensioni consigliate.
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 configurate nel criterio di scalabilità automatica è di soli 2
. Pertanto, il gestore della scalabilità automatica limita le
dimensioni consigliate 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 al momento in cui la voce è stata registrata. Indipendentemente dalla modalità, il gestore della scalabilità automatica calcola le dimensioni consigliate, che sono rappresentate da newSize nel log. A seconda della modalità di scalabilità automatica, il gestore della scalabilità automatica ridimensiona il gruppo di istanze gestite nel seguente modo:
|
autoscalingReason |
Dettagli sul motivo della scalabilità automatica. Questo campo viene visualizzato solo per i MIG di zona. |
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 calculatedSize corrispondono al numero massimo o minimo di istanze, ai controlli di scale in o al 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 funzionalità di scalabilità automatica che ha limitato calculatedSize . Il campo limitPolicy non è impostato quando la stabilizzazione limita l'calculatedSize perché la stabilizzazione è una funzionalità predefinita della scalabilità automatica.
|
autoscalingReason.scalingLimit.limitSize
|
Il numero di VM basato sulla funzionalità di scalabilità automatica che ha limitato 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 il gruppo di istanze gestite deve avere. 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 dovrebbe avere in base all'indicatore di scalabilità automatica. Se si applica il criterio scalingLimit , il gestore della scalabilità automatica limita
calculatedSize a scalingLimit.limitSize .
|
autoscalingReason.scalingSignal.calculationDetails
|
Dettagli utilizzati per determinare calculatedSize .
|
autoscalingReason.scalingSignal.name
|
Il nome dell'indicatore di scalabilità automatica in base al quale il gestore della scalabilità automatica ha calcolato il numero di VM, rappresentate 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
|
La dimensione consigliata corrente del gruppo di istanze gestite. A seconda di autoscalingMode , il gestore della scalabilità automatica ridimensiona il gruppo di istanze gestite in newSize nel seguente modo:
|
oldSize
|
La dimensione consigliata precedente del gruppo di istanze gestite. |
Per informazioni sugli altri campi nella voce di log, consulta Formato delle voci di audit log.
Voce di log delle modifiche dello stato
Quando lo stato del gestore della scalabilità automatica 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 gestore della scalabilità automatica non si comporta come previsto o per eseguire il debug dei problemi precedenti che hai notato. Per alcuni dei messaggi di stato più comuni, consulta la sezione Messaggi di stato restituiti più comunemente.
I seguenti campi della
protoPayload
descrivono il vecchio e il nuovo stato:
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 e verificare che la configurazione del bilanciamento del carico sia impostata correttamente.
{ 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 nella voce di log, consulta Formato delle voci di audit log.
Passaggi successivi
- Aggiorna il gestore della scalabilità automatica utilizzando le informazioni provenienti dai log.
- Scopri in che modo il gestore della scalabilità automatica prende le decisioni.
- Esamina le opzioni di scalabilità automatica.