Quando attivi la scalabilità automatica, il gestore della scalabilità automatica prende decisioni di scalabilità in base alle opzioni che specifichi. 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:
- Consigli 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 MIG, la modifica della dimensione consigliata viene descritta nei log del gestore della scalabilità automatica. Consulta Voce di log di ridimensionamento.
- Modifiche dello 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 verrà descritta nei log del gestore della scalabilità automatica. Consulta Voce di log delle modifiche dello stato.
Prima di iniziare
- Leggi la documentazione sulla scalabilità automatica.
- Devi avere un gestore della scalabilità automatica attivo di cui vuoi visualizzare i log.
- Esamina come utilizzare Esplora log.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda relativa alla modalità di utilizzo degli esempi in questa pagina:
Console
Quando utilizzi la Google Cloud console per accedere a Google Cloud servizi e API, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
- Imposta una regione e una zona predefinite.
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.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella Google Cloud documentazione sull'autenticazione di.
Visualizza i log del gestore della scalabilità automatica
Per visualizzare i log del gestore della scalabilità automatica, utilizza la Google Cloud console, la gcloud CLI o REST.
Console
Se hai attivato la scalabilità automatica, puoi visualizzare i log di scalabilità automatica in Google Cloud console.
- Vai alla pagina Esplora log.
- Apri il menu a discesa Risorsa e seleziona Gestore della scalabilità automatica.
Puoi anche accedere alla pagina Esplora log dal MIG nel seguente modo:
Nella Google Cloud console, vai alla pagina Gruppi di istanze.
Fai clic sul nome del MIG di cui vuoi visualizzare i log.
Fai clic sulla scheda Monitoraggio.
Nella scheda Monitoraggio, il riquadro Log si trova nella parte inferiore della pagina. Espandi il riquadro facendo clic su keyboard_capslock Attiva/disattiva il riquadro "Log" alla fine di questo riquadro.
Per aprire la pagina Esplora log, fai clic su open_in_new Visualizza in Esplora log.
Esplora log si apre con una query predefinita per recuperare tutti i log del gestore della scalabilità automatica del MIG.
gcloud
Per cercare tutti i log relativi alla scalabilità automatica, utilizza il
logging read comando.
Ad esempio:
gcloud logging read "resource.type=autoscaler" --limit 10 \
--format json
Per visualizzare i log del gestore della scalabilità automatica di un MIG specifico, specifica instance_group_manager_name nel seguente modo:
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 metodocompute.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 compute.autoscalers.changeStatus
nome del 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
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 di cui vuoi visualizzare i log. Ad esempio, per inviare una richiesta per ottenere un elenco di azioni di ridimensionamento di un MIG 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 inviare una richiesta per ottenere un elenco di modifiche dello stato di un MIG 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"
]
}
Voce di log di ridimensionamento
Quando il gestore della scalabilità automatica calcola una dimensione consigliata per il MIG, Compute Engine crea una voce di log. Questa voce include le dimensioni consigliate nuove e precedenti e il motivo della modifica del consiglio.
Di seguito è riportato un esempio di voce di log per un MIG 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 del 35%. Tuttavia, il numero massimo di istanze configurate nella policy di scalabilità automatica è solo 2. Pertanto, 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 gestore della scalabilità automatica ridimensiona il MIG nel seguente modo:
|
autoscalingReason |
Dettagli sul motivo della scalabilità automatica. |
autoscalingReason.scalingLimit
|
Dettagli sulla funzionalità di scalabilità automatica che ha limitato il
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 sono 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 funzionalità di scalabilità automatica
che ha limitato calculatedSize. Il
limitPolicy campo non è impostato quando la stabilizzazione limita il
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 il
calculatedSize. |
autoscalingReason.scalingSignal
|
Dettagli sull'indicatore di scalabilità automatica utilizzato per calcolare il numero di VM che il MIG deve avere. Se la policy di scalabilità automatica ha più indicatori, il gestore della scalabilità automatica considera l'indicatore che richiede il maggior numero di VM. |
autoscalingReason.scalingSignal.calculatedSize
|
Il numero di VM che il MIG deve avere in base all'indicatore di scalabilità automatica
automatica. Se si applica 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, rappresentato 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 consigliata corrente del MIG. A seconda di
autoscalingMode, il gestore della scalabilità automatica ridimensiona il MIG a
newSize nel seguente modo:
|
oldSize
|
La dimensione consigliata precedente del MIG. |
Per informazioni sugli altri campi della voce di log, consulta Formato delle voci di log di controllo.
Voce di log delle modifiche di stato
Quando lo stato del gestore della scalabilità automatica cambia, Compute Engine crea una voce di log che acquisisce i messaggi di stato precedenti 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 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 precedenti 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 di log, consulta Formato delle voci di log di controllo.
Passaggi successivi
- Aggiorna il gestore della scalabilità automatica utilizzando le informazioni che hai ricevuto dai log.
- Scopri come il gestore della scalabilità automatica prende decisioni.
- Esamina le opzioni di scalabilità automatica.