Questo documento descrive come visualizzare e leggere le voci del log delle modifiche dello stato di integrità di una VM in un gruppo di istanze gestite (MIG) e fornisce specifici casi d'uso per aiutarti a monitorare le VM nel gruppo.
Se hai configurato il controllo di integrità basato sull'applicazione per il MIG, Compute Engine scrive una voce di log ogni volta che cambia lo stato di integrità di un'istanza gestita, ad esempio quando l'istanza passa dallo stato HEALTHY
a UNHEALTHY
. Queste voci di log ti consentono di monitorare ed eseguire il debug dello stato di integrità di ogni istanza gestita, nonché dello stato complessivo del MIG.
Prima di iniziare
- Consulta Configurazione dei controlli di integrità e della riparazione automatica.
-
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 di 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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
Vai a Esplora log nella console Google Cloud .
Imposta i seguenti parametri di query:
- Risorsa: Gestore di gruppi di istanze GCE
- Nome log:
instance_group_manager_events
In alternativa, puoi copiare la seguente query in Query Builder.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*
Puoi limitare la ricerca a un gruppo di istanze gestite specifico utilizzando la seguente query.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Fai clic su Esegui query. I log verranno visualizzati in Risultati delle query.
PROJECT_ID
: il tuo ID progetto.MIG_NAME
: il MIG per il quale vuoi visualizzare i log delle modifiche dello stato di integrità.OAUTH2_TOKEN
: il token di accesso della tua applicazione. Per i test locali, puoi utilizzare il comandogcloud auth print-access-token
per generare un token.PROJECT_ID
: il tuo ID progetto.MIG_NAME
: il MIG per il quale vuoi visualizzare i log delle modifiche dello stato di integrità.Vai a Esplora log nella console Google Cloud .
Copia la seguente query in Query Builder.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"
Fai clic su Esegui query.
PROJECT_ID
: il tuo ID progetto.INSTANCE_NAME
: l'istanza gestita per la quale vuoi visualizzare i log delle modifiche dello stato di integrità.OAUTH2_TOKEN
: il token di accesso della tua applicazione. Per i test locali, puoi utilizzare il comandogcloud auth print-access-token
per generare un token.PROJECT_ID
: il tuo ID progetto.INSTANCE_NAME
: l'istanza gestita per la quale vuoi visualizzare i log delle modifiche dello stato di integrità.- Informazioni generali mostrate nella maggior parte dei log, come gravità, ID progetto, nome e ID del MIG, numero di progetto, timestamp e così via.
- Campi specifici per lo stato di integrità dell'istanza.
- Per scoprire la frequenza con cui gli stati di integrità di una determinata istanza VM sono cambiati nel tempo.
- Per valutare la frequenza con cui un MIG ha registrato modifiche dello stato di integrità delle sue istanze.
- Per identificare le istanze VM problematiche che passano spesso a
UNHEALTHY
. - Per scoprire cosa ha causato un tentativo di riparazione automatica.
- Per scoprire se un tentativo di riparazione automatica è andato a buon fine per un'istanza VM specifica.
- Per ottimizzare la configurazione del controllo di integrità per un'applicazione determinando un ritardo iniziale adeguato per la riparazione automatica.
Vai a Esplora log nella console Google Cloud .
Inserisci la seguente query in Query Builder, utilizzando l'ID progetto e il nome dell'istanza.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"
Nella sezione Risultati delle query, fai clic su Azioni e poi su Crea metrica.
Nella pagina Crea una metrica, segui questi passaggi:
- Imposta il Tipo di metrica su Contatore.
Inserisci un Nome metrica di log, ad esempio
health-mig-xyzq
.La sezione Crea filtro mostra la query di log di Esplora log. Puoi anche configurare il filtro della metrica in modo da tenere conto solo degli stati di interruzione, come
UNHEALTHY
eTIMEOUT
, aggiungendoseverity>=WARNING
al filtro.In Etichette, fai clic su Aggiungi etichetta.
Inserisci un Nome etichetta, ad esempio
health_state
.Imposta Tipo di etichetta su
STRING
.Imposta Nome campo su
jsonPayload.instanceHealthStateChange.detailedHealthState
. In questo modo potrai distinguere tra le diverse modifiche dello stato di integrità.Fai clic su Fine per aggiungere l'etichetta.
Fai clic su Crea metrica.
Vai alla pagina Metriche basate su log e trova la metrica appena creata.
Fai clic sul menu more_vert nella riga della metrica e seleziona Visualizza in Esplora metriche. Si apre Esplora metriche e viene visualizzato il grafico che rappresenta le modifiche dello stato di integrità dell'istanza VM specificata nella query.
Vai a Esplora log nella console Google Cloud .
Inserisci la seguente query in Query Builder, utilizzando il tuo ID progetto e il nome del gruppo di istanze gestite.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Nella sezione Risultati delle query, fai clic su Azioni e poi su Crea metrica.
Nella pagina Crea una metrica, segui questi passaggi:
- Imposta il Tipo di metrica su Contatore.
- Inserisci un Nome metrica di log, ad esempio
health-mig-xyzq
. - In Etichette, fai clic su Aggiungi etichetta.
- Inserisci un Nome etichetta, ad esempio
health_state
. - Imposta Tipo di etichetta su
STRING
. - Imposta Nome campo su
jsonPayload.instanceHealthStateChange.detailedHealthState
. In questo modo potrai distinguere tra le diverse modifiche dello stato di integrità. - Fai clic su Fine per aggiungere l'etichetta.
- Fai clic su Crea metrica.
Vai alla pagina Metriche basate su log e trova la metrica appena creata.
Fai clic sul menu more_vert nella riga della metrica e seleziona Visualizza in Esplora metriche. Si apre Esplora metriche e viene visualizzato il grafico che rappresenta le modifiche dello stato di integrità di tutte le istanze VM nel gruppo di istanze gestite specificato nella query.
Vai a Esplora log nella console Google Cloud .
Inserisci la seguente query in Query Builder, utilizzando il tuo ID progetto e il nome del gruppo di istanze gestite.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Nella sezione Risultati delle query, fai clic su Azioni e poi su Crea metrica.
Nella pagina Crea una metrica, segui questi passaggi:
- Imposta il Tipo di metrica su Contatore.
- Inserisci un Nome metrica di log, ad esempio
health-mig-xyzq
. - In Etichette, fai clic su Aggiungi etichetta.
- Inserisci un Nome etichetta, ad esempio
health_state
. - Imposta Tipo di etichetta su
STRING
. - Imposta Nome campo su
jsonPayload.instanceHealthStateChange.detailedHealthState
. In questo modo potrai distinguere tra le diverse modifiche dello stato di integrità. - Fai clic su Fine per aggiungere l'etichetta.
- Allo stesso modo, aggiungi una seconda etichetta, ad esempio
instance
, con Nome campo impostato sujsonPayload.instanceHealthStateChange.instance
. - Fai clic su Crea metrica.
Vai alla pagina Metriche basate su log e trova la metrica appena creata.
Fai clic sul menu more_vert nella riga della metrica e seleziona Visualizza in Esplora metriche. Si apre Esplora metriche e viene visualizzato il grafico che rappresenta le modifiche dello stato di integrità di tutte le istanze VM nel gruppo di istanze gestite specificato nella query.
Imposta Raggruppa per su
instance
per visualizzare il numero aggregato di modifiche dello stato di integrità per ogni istanza.Vai a Esplora log nella console Google Cloud .
Inserisci la seguente query in Query Builder, utilizzando l'ID progetto e il nome dell'istanza.
resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" AND protoPayload.methodName="compute.instances.repair.recreateInstance" AND protoPayload.resourceName=~"/INSTANCE_NAME$"
Fai clic su Esegui query. La sezione Risultati query mostra tutti i tentativi di riparazione automatica sulla VM con il motivo della riparazione automatica in
protoPayload.status.message
.Vai a Esplora log nella console Google Cloud .
Inserisci la seguente query in Query Builder, utilizzando l'ID progetto e il nome dell'istanza.
(resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" AND protoPayload.methodName="compute.instances.repair.recreateInstance" AND protoPayload.resourceName=~"/INSTANCE_NAME$") OR (resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME")
La prima parte della query mostra le operazioni di riparazione dell'istanza, che indicano che la ricreazione è stata attivata dalla riparazione automatica del MIG per ripristinare l'integrità dell'istanza. La seconda parte della query mostra tutte le modifiche dello stato di integrità dell'istanza VM.
In Risultati delle query, l'evento di modifica dello stato di integrità con
detailedHealthState
impostato suHEALTHY
poco dopo un'operazione di riparazione indica che il tentativo di riparazione automatica è riuscito.Vai a Esplora log nella console Google Cloud .
Inserisci la seguente query in Query Builder, utilizzando l'ID progetto e il nome dell'istanza.
(resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity" AND protoPayload.request.@type="type.googleapis.com/compute.instances.insert" AND operation.last="true" AND protoPayload.resourceName=~"/INSTANCE_NAME$") OR (resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME")
La prima parte della query mostra il completamento dell'operazione di inserimento della VM. La seconda parte mostra tutte le modifiche dello stato di integrità della VM.
In Risultati delle query, il timestamp dell'evento di modifica dello stato di integrità con
detailedHealthState
impostato suHEALTHY
poco dopo l'operazione di inserimento indica il tempo necessario per l'avvio di questa VM.Ripeti i passaggi per qualche altra VM per ottenere un valore approssimativo migliore del parametro di ritardo iniziale.
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.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Prezzi
Compute Engine utilizza Cloud Logging per generare voci di log per le modifiche dello stato di integrità delle istanze gestite. Cloud Logging fornisce un'allocazione senza addebiti al mese, al di sopra della quale il prezzo delle voci di log viene calcolato in base al volume di dati. Per saperne di più, consulta il Riepilogo dei prezzi di Cloud Logging.
Per evitare i costi di logging, puoi disattivare i log delle modifiche dello stato di integrità.
Visualizzazione dei log delle modifiche dello stato di integrità
A condizione che i log delle modifiche dello stato di integrità rimangano abilitati, Compute Engine scrive una voce di log nei log della piattaforma ogni volta che cambia lo stato di integrità di un'istanza gestita. Puoi visualizzare questi log per un progetto, per un MIG specifico o per un'istanza gestita specifica.
Visualizzazione dei log per un progetto o un MIG
Per visualizzare le voci di log per un progetto o un MIG specifico, utilizza la consoleGoogle Cloud , gcloud CLI o REST.
Console
gcloud
Utilizza il comando
gcloud logging read
per visualizzare e leggere le voci di log.Per visualizzare tutti i log delle modifiche dello stato di integrità nel tuo progetto, utilizza il seguente comando:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*'\ --limit 10
Per visualizzare tutti i log delle modifiche dello stato di integrità per un gruppo di istanze gestite specifico, utilizza il seguente comando:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"' \ --limit 10
Sostituisci quanto segue:
REST
Per visualizzare i log delle modifiche dello stato di integrità, invia una richiesta
POST
al metodoentries.list
.Per visualizzare tutti i log delle modifiche dello stato di integrità nel tuo progetto, utilizza il seguente comando:
curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:*", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Per visualizzare i log delle modifiche dello stato di integrità per un gruppo di istanze gestite specifico, utilizza il seguente comando:
curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name=MIG_NAME", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Sostituisci quanto segue:
Per saperne di più sulle singole voci di log, consulta Formato delle voci di log.
A seconda che tu voglia archiviare i log, utilizzarli per l'analisi, trasmettere i log ad altre applicazioni o attivare una funzione Cloud Functions, puoi esportarli in destinazioni come Cloud Storage, BigQuery o Pub/Sub. Per saperne di più sull'esportazione dei log, consulta Panoramica delle esportazioni dei log.
Visualizzazione dei log delle modifiche dello stato di integrità per una VM specifica
Per visualizzare le voci di log per un'istanza gestita specifica, utilizza la consoleGoogle Cloud , gcloud CLI o REST.
Console
gcloud
Utilizza il comando
gcloud logging read
per visualizzare e leggere le voci di log.Per visualizzare i log delle modifiche dello stato di integrità per un'istanza gestita, utilizza il seguente comando:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"' \ --limit 10
Sostituisci quanto segue:
REST
Per visualizzare i log delle modifiche dello stato di integrità di un'istanza gestita, invia una richiesta
POST
al metodoentries.list
.curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:* AND labels.\"compute.googleapis.com/instance_name\"=\"INSTANCE_NAME\"", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Sostituisci quanto segue:
Formato delle voci di log
Le voci di log delle modifiche dello stato di integrità delle istanze contengono informazioni utili per monitorare ed eseguire il debug dello stato delle istanze gestite.
I log vengono scritti nei log della piattaforma con il nome
instance_group_manager_events
. I log della piattaforma ti aiutano a eseguire il debug e a risolvere i problemi.logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events"
Le voci di log delle modifiche dello stato di integrità contengono i seguenti tipi di informazioni:
In ogni voce di log delle modifiche dello stato di integrità, il campo
jsonPayload.instanceHealthStateChange
contiene le seguenti informazioni:Campo Descrizione instance
URL dell'istanza, basato sull'ID progetto e sul nome dell'istanza. instanceWithId
URL dell'istanza, basato sull'ID progetto e l'ID istanza in formato numerico. ipAddress
Indirizzo IP dell'istanza sottoposto al controllo di integrità. network
URL della risorsa di rete per questa istanza, basato sull'ID progetto e sul nome della rete in formato stringa. networkWithId
URL della risorsa di rete per questa istanza, basato sull'ID progetto e l'ID rete numerici. healthCheck
URL del controllo di integrità configurato per il gruppo di istanze gestite. previousDetailedHealthState
Stato di integrità precedente dell'istanza. Per l'elenco dei possibili stati, consulta Stati di integrità. detailedHealthState
Stato di integrità attuale dell'istanza. Per l'elenco dei possibili stati, consulta Stati di integrità. notificationTime
Timestamp che indica quando è avvenuta la modifica dello stato di integrità. I campi dei log di tipo booleano in genere vengono visualizzati solo se hanno un valore
true
. Se un campo booleano ha un valorefalse
, viene omesso dal log.La codifica UTF-8 è applicata in modo forzato per i campi di log. I caratteri non UTF-8 vengono sostituiti con punti interrogativi.
Esempio di voce di log
L'esempio seguente mostra la modifica dello stato di integrità di un'istanza VM da
HEALTHY
aUNHEALTHY
:{ "logName": "projects/my-project/logs/compute.googleapis.com%2Finstance_group_manager_events", "resource": { "type": "gce_instance_group_manager", "labels": { "instance_group_manager_id": "3138236342290985981", "instance_group_manager_name": "my-mig", "project_id": "my-project", "location": "europe-west3" } }, "labels": { "compute.googleapis.com/instance_id": "6498902454451155884", "compute.googleapis.com/instance_location": "europe-west3-a", "compute.googleapis.com/instance_name": "my-mig-a" }, "timestamp": "2019-11-19T15:47:57.127Z", "severity": "INFO", "jsonPayload": { "@type": "type.googleapis.com/compute.InstanceGroupManagerEvent", "instanceHealthStateChange": { "instance": "projects/my-project/zones/europe-west3-a/instances/my-mig-a", "instanceWithId": "projects/123456/zones/europe-west3-a/instances/6498902454451155884", "ipAddress": "10.0.0.4", "network": "projects/my-project/global/networks/net-1", "networkWithId": "projects/123456/global/networks/456", "healthCheck": "projects/my-project/global/healthChecks/my-mig-health-check", "previousDetailedHealthState": "HEALTHY", "detailedHealthState": "UNHEALTHY", "notificationTime": "2019-11-19T15:47:56.444Z" } }, "receiveTimestamp": "2019-11-19T15:47:57.296439184Z" }
Casi d'uso
Puoi utilizzare i log delle modifiche dello stato di integrità nei seguenti scenari di monitoraggio o debug:
Monitoraggio delle modifiche dello stato di integrità di una VM
Puoi monitorare la frequenza con cui cambia lo stato di integrità di un'istanza VM creando una metrica che monitora le modifiche dello stato di integrità di quella determinata VM.
Per creare la metrica e monitorare le modifiche, segui questi passaggi:
Monitoraggio delle modifiche dello stato di integrità di tutte le VM in un MIG
Puoi monitorare le modifiche dello stato di integrità di tutte le istanze gestite creando una metrica che monitora le modifiche dello stato di integrità delle istanze gestite.
Per creare la metrica e monitorare le modifiche, segui questi passaggi:
Identificazione delle VM che passano spesso allo stato non integro
Puoi identificare le VM problematiche che passano spesso allo stato
UNHEALTHY
creando una metrica che monitora le modifiche dello stato di integrità di tutte le istanze VM nel MIG e raggruppando la metrica per istanze.Per creare la metrica e raggruppare per istanze, segui questi passaggi:
Le istanze con il maggior numero di modifiche dello stato di integrità aggregate sono quelle che passano più spesso allo stato non integro.
Controllo della causa di un tentativo di riparazione automatica
Per scoprire cosa ha causato un tentativo di riparazione automatica, filtra i log per le operazioni
repair
per una determinata istanza VM.Per filtrare le operazioni di riparazione, segui questi passaggi:
Verifica della riuscita della riparazione automatica per una VM
Per scoprire se un tentativo di riparazione automatica è andato a buon fine per un'istanza VM, filtra i log per le operazioni
repair
e le modifiche dello stato di integrità in base al nome dell'istanza VM. Se lo stato di integrità dell'istanza è passato aHEALTHY
dopo un'operazione di riparazione, vedrai un log delle modifiche dello stato di integrità corrispondente. Segui i passaggi:Determinazione del valore del ritardo iniziale di un MIG
Con il logging degli stati di integrità delle istanze VM è più facile determinare un valore appropriato per il ritardo iniziale della riparazione automatica del MIG. Puoi utilizzare i log per osservare il tempo che intercorre tra il termine dell'operazione
instances.insert
e la ricezione del primo indicatore di stato integro per un insieme di istanze in un gruppo. Questo intervallo indica il tempo necessario per l'avvio completo delle istanze. Poiché alcune VM potrebbero avviarsi più lentamente di altre, Google consiglia di aggiungere un margine al tempo di inizializzazione osservato (dall'operazione di inserimento allo stato integro) quando si specifica il ritardo iniziale nella policy di riparazione automatica.Per misurare il tempo che intercorre tra l'operazione di inserimento dell'istanza e il momento in cui l'istanza è in stato integro, esegui una query per le operazioni
insert
e i log delle modifiche di stato in base al nome dell'istanza VM. Utilizza i timestamp di entrambe le operazioni per calcolare il tempo di inizializzazione dell'istanza. Segui i passaggi:Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-09 UTC.
-