Quando crei un gruppo di istanze gestite (MIG) a livello di regione o ne aumenti le dimensioni target, Compute Engine valuta la disponibilità delle risorse in tempo reale per distribuire le nuove istanze di computing tra zone e tipi di macchine. Durante questo processo, Compute Engine registra una voce di log di distribuzione delle istanze in Cloud Logging.
Questo documento descrive come visualizzare e interpretare questi log di distribuzione delle istanze. Inoltre, spiega come utilizzare questi log per esaminare le allocazioni in attesa e configurare gli avvisi.
Per visualizzare la distribuzione effettiva delle istanze in esecuzione, consulta Monitora la distribuzione delle istanze nei MIG.
Informazioni sui log di distribuzione delle istanze
I log di distribuzione delle istanze forniscono uno snapshot una tantum delle allocazioni pianificate del MIG per le istanze di computing. In questi log, un'istanza allocata indica che il MIG ha trovato capacità e prevede di creare l'istanza di computing su quel tipo di macchina e in quella zona. Una dimensione allocata non significa che le istanze di computing siano state create correttamente.
Poiché i log forniscono uno snapshot, Compute Engine non li aggiorna quando il MIG crea le istanze di computing rimanenti in un secondo momento. La voce di log consente di visualizzare i seguenti dettagli:
Distribuzione dei tipi di macchine: il numero di istanze di computing allocate dal MIG per tipo di macchina. Queste informazioni sono presenti solo per i MIG regionali che utilizzano la flessibilità delle istanze.
Distribuzione per zona: il numero di istanze di computing allocate dal MIG per zona.
Istanze in attesa di capacità: il numero di istanze per le quali il MIG non ha potuto allocare immediatamente la capacità e la sta cercando attivamente.
Limitazioni
I log di distribuzione delle istanze sono disponibili solo per i MIG a livello di regione.
Per i MIG a livello di regione che utilizzano la forma di distribuzione target
EVENsenza scalabilità automatica, la voce di log include solo i campioldSize,newSize,deltaSizeetargetShape, senza dettagli sulla distribuzione delle istanze.Compute Engine registra i dettagli della distribuzione delle istanze solo quando crei un MIG o ne aumenti le dimensioni target. Compute Engine non registra questi dettagli quando le dimensioni target diminuiscono o durante le operazioni di riparazione, ricreazione e aggiornamento delle istanze.
Visualizza i log di distribuzione delle istanze di un MIG specifico
Per visualizzare i log di distribuzione delle istanze di un MIG specifico, utilizza una delle seguenti opzioni:
Console
Puoi visualizzare i log di un MIG specifico direttamente dalla pagina dei dettagli del gruppo di istanze.
Nella console Google Cloud , vai alla pagina Gruppi di istanze.
Fai clic sul nome del MIG che vuoi visualizzare.
Fai clic sulla scheda Monitoraggio.
Nel riquadro a sinistra, seleziona Log.
Nel filtro dei risultati dei log, digita
instanceDistributione premi Invio.Per visualizzare i dati di distribuzione delle istanze, espandi una voce di log, quindi espandi
protoPayload.metadata.details.
gcloud
Per visualizzare i log di distribuzione delle istanze di un MIG specifico, utilizza il comando gcloud logging read:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \ protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND \ resource.labels.instance_group_manager_name=\"MIG_NAME\""
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto.MIG_NAME: il nome del MIG.
REST
Per visualizzare i log di distribuzione delle istanze di un MIG specifico, invia una richiesta POST al metodo entries.list.
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND resource.labels.instance_group_manager_name=\"MIG_NAME\""
}
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto.MIG_NAME: il nome del MIG.
Per saperne di più su ciascun campo di un log, consulta Voce di log di distribuzione delle istanze.
Visualizza tutti i log di distribuzione delle istanze in un progetto
Per visualizzare tutti i log di distribuzione delle istanze in un progetto, seleziona una delle seguenti opzioni:
Console
Nella console Google Cloud , vai alla pagina Esplora log.
Inserisci una query. Di seguito sono riportati alcuni esempi:
Per visualizzare tutti i log di distribuzione delle istanze nel progetto:
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload.methodName="compute.instanceGroupManagers.instanceDistribution"
Per visualizzare i log di distribuzione delle istanze in cui parte del ridimensionamento è ancora in attesa di capacità:
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload.methodName="compute.instanceGroupManagers.instanceDistribution" protoPayload.metadata.details.data.activeSeekDeltaSize > 0
Sostituisci
PROJECT_IDcon l'ID del tuo progetto.Fai clic su Esegui query.
Nei risultati, espandi una voce di log.
- Per visualizzare il riepilogo e i dati, espandi
protoPayload.metadata.details. - Per visualizzare il riepilogo di ogni riga, fai clic su
messagee seleziona Aggiungi campo alla riga di riepilogo.
- Per visualizzare il riepilogo e i dati, espandi
gcloud
Per visualizzare i log di distribuzione delle istanze, utilizza il
comando gcloud logging read.
- Per visualizzare tutti i log di distribuzione delle istanze nel progetto:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \ protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\""
- Per visualizzare tutti i log del progetto dell'ultimo giorno, specifica il flag
--freshness=1dcome segue:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \
protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\"" \
--freshness=1d
- Per visualizzare i log di distribuzione delle istanze in cui parte del ridimensionamento è ancora in attesa di capacità:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \
protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND \
protoPayload.metadata.details.data.activeSeekDeltaSize > 0"
Sostituisci PROJECT_ID con l'ID del tuo progetto.
REST
Per visualizzare i log di distribuzione delle istanze, invia una richiesta POST al metodo entries.list.
- Per visualizzare tutti i log di distribuzione delle istanze nel progetto:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\""
}
- Per visualizzare tutti i log del progetto dell'ultimo giorno, aggiungi una condizione
timestampal filtro:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND timestamp >= \"YYYY-MM-DDThh:mm:ssZ\""
}
- Per visualizzare i log di distribuzione delle istanze in cui parte del ridimensionamento è ancora in attesa di capacità:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND protoPayload.metadata.details.data.activeSeekDeltaSize > 0"
}
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto.YYYY-MM-DDThh:mm:ssZ: il timestamp RFC 3339 per l'ora di inizio, ad esempio2024-10-22T00:00:00Z.
Per saperne di più su ciascun campo di un log, consulta Voce di log di distribuzione delle istanze.
Voce di log della distribuzione delle istanze
Di seguito è riportato un esempio di voce di log (protoPayload.metadata.details). Poiché questo evento è uno snapshot una tantum, la voce di log non viene aggiornata quando le istanze rimanenti vengono create in un secondo momento. La voce di log consente di visualizzare i dettagli come segue:
details.data: mostra i dettagli strutturati sulla distribuzione delle istanze.details.message: mostra il riepilogo della distribuzione delle istanze.
In questo esempio, un MIG a livello di regione con flessibilità delle istanze sta eseguendo lo scale out da 0 a 100. Il MIG alloca immediatamente 80 delle 100 nuove istanze
tra due selezioni di istanze classificate (20 c2-standard-4 istanze nella
selezione rank2-c2 e 60 n2d-standard-4 istanze nella selezione
rank3-n2d). La voce mostra anche che 40 istanze di computing sono allocate in
us-central1-b e us-central1-c ciascuna. Per le restanti 20 istanze (activeSeekDeltaSize), il MIG continua a cercare capacità in tutte le selezioni di istanze e zone configurate. Per i MIG a livello di regione senza flessibilità delle istanze, la voce di log omette il campo instanceSelections e mostra solo la distribuzione a livello di zona.
"metadata": {
"details": {
"data": {
"oldSize": 0,
"newSize": 100,
"deltaSize": 100,
"targetShape": "BALANCED",
"activeSeekDeltaSize": 20,
"instanceSelections": {
"rank1-n2": {
"rank": 1,
"machineSelections": [
{
"machineType": "n2-standard-4",
"allocatedSize": 0
}
]
},
"rank2-c2": {
"rank": 2,
"machineSelections": [
{
"machineType": "c2-standard-4",
"allocatedSize": 20
}
]
},
"rank3-n2d": {
"rank": 3,
"machineSelections": [
{
"machineType": "n2d-standard-4",
"allocatedSize": 60
}
]
}
},
"zonalDistribution": {
"us-central1-a": {
"allocatedSize": 0
},
"us-central1-b": {
"allocatedSize": 40
},
"us-central1-c": {
"allocatedSize": 40
}
}
},
"message": "Increasing MIG target size from 0 to 100 instances (+100).
Allocated 80 of 100 new instances. Allocated instances across instance
selections: rank2-c2 (rank 2; c2-standard-4: 20); rank3-n2d (rank 3;
n2d-standard-4: 60). Allocated instances across zones based on target
distribution shape BALANCED: us-central1-a: 0, us-central1-b: 40,
us-central1-c: 40. MIG continues to allocate the remaining 20 new instances
across all instance selections and zones. The final distribution across zones
and machine types may differ as instances are created. View the group's
instances for the current distribution."
}
}
La tabella seguente descrive ogni campo di una voce di log.
| Campo | Descrizione |
|---|---|
details.data.oldSize |
Le dimensioni target del MIG a livello di regione prima dell'operazione di ridimensionamento. |
details.data.newSize |
Le dimensioni target richieste del MIG a livello di regione. |
details.data.deltaSize |
La variazione della dimensione target (newSize - oldSize).
|
details.data.targetShape |
La forma di distribuzione target del MIG a livello di regione. |
details.data.activeSeekDeltaSize |
Il numero di nuove istanze per le quali il MIG sta ancora cercando capacità tra le selezioni di istanze e le zone configurate. Questo campo viene omesso quando il suo valore è 0.
|
details.data.instanceSelections |
Le selezioni delle istanze configurate valutate durante l'allocazione. Questo campo è presente solo per i MIG che utilizzano la flessibilità delle istanze. Ogni chiave è il nome di una selezione di istanze e il relativo valore contiene i seguenti campi:
|
details.data.zonalDistribution |
Le zone configurate e la distribuzione delle istanze assegnate. Ogni chiave è un nome di zona e il relativo valore contiene il numero di istanze di computing allocate in quella zona (allocatedSize).
|
details.message |
Un messaggio di riepilogo che descrive la distribuzione delle istanze, inclusi i conteggi allocati e i dettagli sulla capacità di ricerca. |
Interpreta i log di distribuzione delle istanze
Il log di distribuzione delle istanze fornisce uno snapshot del piano del MIG per la creazione di istanze di computing. Poiché il log indica che il MIG alloca le istanze di computing prima che vengano create correttamente, devi utilizzare i dati di log insieme allo stato dell'istanza di computing e ai messaggi di errore per comprendere il comportamento effettivo del MIG.
Utilizza la tabella seguente per interpretare gli output dei log comuni e determinare se devi intervenire:
| Output dei log | Spiegazione | Azione consigliata |
|---|---|---|
activeSeekDeltaSize è maggiore di
0 |
Il MIG non ha trovato capacità sufficiente per soddisfare immediatamente l'intera richiesta di ridimensionamento. Il MIG continua a provare a creare le istanze rimanenti in tutte le opzioni configurate. | Controlla gli errori dell'istanza del MIG per capire perché la creazione dell'istanza non è riuscita. Valuta la possibilità di aggiungere tipi di macchine di altre famiglie di macchine, aggiungere zone o controllare le quote. |
Una selezione con preferenza più elevata (numero di ranking più basso) ha un allocatedSize di 0 |
Al momento della decisione, il MIG ha controllato i tipi di macchine che preferisci, ma non ha trovato capacità sufficiente. Il MIG ha utilizzato una selezione con una preferenza inferiore (numero di ranking più alto). Compute Engine non registra gli errori dell'istanza per le selezioni ignorate. | Se il MIG salta spesso la selezione preferita, valuta la possibilità di aggiungere altri tipi di macchine alla selezione preferita o di accettare opzioni con preferenza inferiore. |
Una zona configurata ha un allocatedSize di
0 |
Il MIG non ha allocato nuove istanze in questa zona. | Se la forma target è ANY o
ANY_SINGLE_ZONE, questa distribuzione non uniforme è normale.
In caso contrario, controlla la quota, le prenotazioni e il supporto delle zone per il template di istanza. |
Un tipo di macchina non è presente nel riepilogo di message |
Il MIG non ha utilizzato quel tipo di macchina per l'allocazione. | Controlla il blocco details.data strutturato. Il messaggio di riepilogo
omette le selezioni e i tipi di macchine che hanno ottenuto 0 nuove
istanze, ma i dati strutturati elencano tutte le opzioni valutate. |
Controlla le allocazioni di istanze in attesa
Se il MIG è ancora in attesa di capacità (activeSeekDeltaSize > 0), puoi controllare quanto segue per comprendere i motivi delle allocazioni in attesa:
Controlla gli errori di creazione dell'istanza. Per verificare se la creazione dell'istanza non è riuscita dopo che il MIG ha allocato la capacità o se le istanze di computing sono ancora in attesa di capacità, controlla gli errori dell'istanza. Per saperne di più, consulta Elenca gli errori dell'istanza.
Controlla lo stato dell'istanza. Per visualizzare lo stato e l'azione corrente di ogni istanza, elenca le istanze nel MIG e controlla il campo
instanceStatus. Per saperne di più, consulta Controlla lo stato delle istanze gestite.Esamina la configurazione. Se hai configurato una policy di flessibilità delle istanze nel MIG, esamina le quote regionali per le famiglie di macchine nella policy. Inoltre, verifica che le zone selezionate supportino i tipi di macchina richiesti. Per saperne di più, consulta Visualizza e gestisci le quote e Regioni e zone disponibili.
Crea policy di avviso basate sui log
Per ricevere una notifica quando le operazioni di ridimensionamento del MIG attendono la capacità, puoi creare una criterio di avviso basata su log in Esplora log. Ad esempio, puoi attivare un avviso quando activeSeekDeltaSize è maggiore di 0.
Per creare questo avviso:
Nella console Google Cloud , vai alla pagina Esplora log.
Inserisci la seguente query:
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload.methodName="compute.instanceGroupManagers.instanceDistribution" protoPayload.metadata.details.data.activeSeekDeltaSize > 0
Sostituisci
PROJECT_IDcon l'ID del tuo progetto.Fai clic su Esegui query per convalidare la query.
Crea la criterio di avviso seguendo le istruzioni riportate nella sezione Crea una policy di avviso basata su log della documentazione di Cloud Logging.
Passaggi successivi
- Scopri come i MIG regionali distribuiscono le istanze di computing tra le zone.
- Scopri come funziona la selezione di più tipo di macchina nei MIG.
- Visualizza la configurazione della flessibilità delle istanze in un MIG.