Ogni istanza di macchina virtuale (VM) o bare metal utilizza un criterio di manutenzione dell'host per determinare il comportamento dell'istanza durante un'operazione di manutenzione. Alcune istanze offrono l'opzione aggiuntiva di visualizzare la pianificazione della manutenzione in anticipo.
Questa pagina spiega come monitorare e pianificare un evento di manutenzione dell'host nelle istanze Compute Engine.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione
Compute Engine come segue.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Per l'accesso di sola lettura agli audit log degli eventi di sistema:
Visualizzatore log (
roles/logging.viewer
) -
Per ottenere informazioni su un'istanza, inclusi i metadati:
compute.instances.get
- VM C4 per uso generico (anteprima)
- Istanze C3 per uso generico
- VM C3D per uso generico
- VM Z3 ottimizzate per lo spazio di archiviazione
- Istanze M1, M2, M3 e X4 ottimizzate per la memoria
- Meno eventi di manutenzione: in generale, istanze con manutenzione ricorrente. dovrebbero generare meno eventi di manutenzione.
- Notifica di manutenzione di durata superiore: ricevi un avviso in caso di manutenzione eventi con largo anticipo ai fini della pianificazione.
- Monitoraggio e pianificazione: utilizza Cloud Logging per monitorare la manutenzione. programmazione. Utilizza incidenti e avvisi per rimanere al corrente.
- Controllo manutenzione on demand: avvia la manutenzione durante la notifica per aggiornare le istanze in base alle tue esigenze.
- canReschedule: indica se la manutenzione può essere avviata manualmente durante il periodo di notifica per questa istanza.
TRUE
: la manutenzione attivata dal cliente può essere eseguita durante il periodo di notifica.FALSE
: la manutenzione attivata dal cliente non può essere eseguita per questa istanza. Questo si verifica spesso durante il periodo in cui l'istanza è in fase di manutenzione o se il tipo di istanza non supporta la manutenzione on demand.
- latestWindowStartTime: l'ora più recente a cui è possibile spostare il periodo di manutenzione.
- maintenanceStatus: lo stato corrente dell'evento di manutenzione.
ONGOING
: l'operazione di manutenzione è in corso.PENDING
: l'operazione di manutenzione è pianificata, ma non è ancora stata avviata.
- type: il tipo di manutenzione da eseguire.
NONE
: non è pianificata alcuna manutenzione per questa istanza.SCHEDULED
: per la manutenzione con interruzione, Compute Engine fornisce un preavviso minimo di 7 giorni per la maggior parte delle istanze; le istanze X4 ricevono un preavviso di circa 60 giorni.UNSCHEDULED
: poiché la manutenzione rappresenta aggiornamenti critici, Compute Engine cerca di fornire il maggior preavviso possibile, ma in genere è molto meno rispetto agli eventi di manutenzione pianificata.
- windowEndTime: la fine dell'intervallo di tempo in cui viene eseguita la manutenzione.
- windowStartTime: l'inizio della finestra temporale in cui viene effettuata la manutenzione.
canReschedule=True
emaintenanceStatus=Pending
: puoi avviare manualmente l'evento di manutenzione per l'istanza prima dell'ora di inizio programmata.canReschedule=False
emaintenanceStatus=Ongoing
, ovvero la manutenzione è in corso e non può essere ripianificata.canReschedule=False
emaintenanceStatus=Pending
: il tuo non supporta gli eventi di manutenzione attivati manualmente.INSTANCE_NAME
: il nome dell'istanza di calcolo.ZONE_NAME
: la zona in cui si trova l'istanza.- La manutenzione è pianificata per la data e l'ora indicate in
windowStartTime
. canReschedule
è impostato suTrue
emaintenanceStatus
è impostato suPENDING
. Queste impostazioni indicano che puoi avviare manualmente l'evento di manutenzione pianificato prima della data indicata inlatestWindowStartTime
.PROJECT_NAME
: il nome del progetto che contiene l'istanza di calcolo.ZONE
: la zona in cui si trova l'istanza.INSTANCE_NAME
: il nome dell'istanza.- La manutenzione è pianificata per la data e l'ora indicate in
windowStartTime
. canReschedule
è impostato suTrue
emaintenanceStatus
suPENDING
. Queste impostazioni indicano che puoi avviare manualmente la programmazione precedente alla data indicata inlatestWindowStartTime
.Vai alla pagina Istanze VM.
Fai clic sul nome dell'istanza per la quale vuoi visualizzare le notifiche di manutenzione.
Si apre la pagina Dettagli istanza.
Nella sezione Log, fai clic sul link Logging.
Si apre la pagina Editor query di Esplora log. Nel riquadro Query,
resource.type
e l'ID istanza sono già compilati per la tua istanza.Nel riquadro Query, aggiungi la seguente riga alla query:
operation.producer="compute.instances.upcomingMaintenance" OR "compute.instances.terminateOnHostMaintenance" OR "compute.instances.migrateOnHostMaintenance"
Fai clic su Esegui query. Gli eventi di notifica di manutenzione corrispondenti vengono visualizzati nel riquadro dei risultati della query.
Nel riquadro dei risultati della query puoi fare clic su Modifica ora per espandere l'intervallo di tempo della ricerca o di restringere i risultati a date specifiche volte.
Fai clic su una voce di log per visualizzare i dettagli della notifica di manutenzione.
- Per le notifiche di manutenzione imminenti, espandi l'intestazione
metadata
per visualizzare informazioni quali stato, tipo e pianificazione correnti le ore di inizio e di fine del periodo di manutenzione. - Espandi l'intestazione
status
per visualizzare il messaggio descrittivo per la notifica.
- Per le notifiche di manutenzione imminenti, espandi l'intestazione
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"PENDING"
windowStartTime
:"2024-07-23T20:00:00Z"
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"ONGOING"
windowStartTime
:"2024-07-23T20:00:00Z"
- Per le istanze configurate per l'uso della migrazione live durante eventi di manutenzione,
un evento di sistema con
methodName: "compute.instances.migrateOnHostMaintenance"
. - Per le istanze configurate per l'interruzione durante gli eventi di manutenzione,
un evento di sistema con
methodName: "compute.instances.terminateOnHostMaintenance"
. methodName
:"compute.instances.upcomingMaintenance"
status: {
message: "Maintenance window has completed for this instance. All
maintenance notifications on the instance have been removed."
}
Vai alla pagina Istanze VM.
Fai clic sul nome dell'istanza per la quale vuoi creare un avviso relativo a un evento di manutenzione.
Si apre la pagina Dettagli istanza.
Nella sezione Log, fai clic sul link Logging.
Si apre la pagina Editor query di Esplora log. Nel riquadro Query,
resource.type
e l'ID istanza sono già compilati per la tua istanza.Nel riquadro Query, aggiungi la seguente riga alla query:
operation.producer="compute.instances.upcomingMaintenance"
Fai clic su Esegui query. Gli eventi di notifica di manutenzione corrispondenti vengono visualizzati nel riquadro dei risultati della query.
Nel riquadro dei risultati della query, fai clic su Modifica ora.
- Sul lato sinistro della finestra di modifica, nel campo Ora relativa, inserisci
1d
per visualizzare le voci di log della settimana precedente. - Fai clic su Applica.
- Sul lato sinistro della finestra di modifica, nel campo Ora relativa, inserisci
Nell'intestazione del riquadro Risultati delle query, fai clic su add_alert Crea avviso. Se la finestra di visualizzazione è restringere, l'opzione Crea avviso potrebbe essere visualizzata nella finestra Azioni .
Nel riquadro Crea criterio di avviso basato su log, nella sezione Dettagli avviso, segui questi passaggi:
- Inserisci un nome per il criterio di avviso, ad esempio
Upcoming maintenance for my-c3d-vm@us-central1-b
. Nel menu Livello di gravità delle norme, seleziona Nessuna gravità.
Nel campo Documentazione, puoi inserire una descrizione per criterio di avviso. Puoi anche includere informazioni che potrebbero aiutare il destinatario della notifica a diagnosticare il problema. La seguente stringa riassume il motivo della notifica:
Log-based alerting policy in project ${project} to monitor upcoming maintenance notifications. See also "Host maintenance alerts" and "onHostMaintenance actions" alerting policies.
Per informazioni su come formattare e personalizzare i contenuti di questo campo, consulta Utilizzo di Markdown e variabili nei modelli di documentazione.
Per andare al passaggio successivo, fai clic su Avanti.
- Inserisci un nome per il criterio di avviso, ad esempio
Nella sezione Scegli i log da includere nell'avviso, controlla la query e i risultati facendo clic su Anteprima log.
In questo riquadro viene visualizzata anche la query che hai creato nel riquadro Query. Ti consigliamo di creare la query in Esplora log Query.
Se necessario, puoi modificare la query in questo riquadro. Se modifichi Query, quindi controlla i risultati facendo clic su Anteprima log.
Fai clic su Avanti.
Nel riquadro Imposta la frequenza e la durata della chiusura automatica delle notifiche, procedi nel seguente modo: le seguenti:
Seleziona il tempo minimo tra le notifiche. Questo valore consente di controllare il numero di notifiche che ricevi dal monitoraggio se questa condizione viene soddisfatta più volte. Per questo esempio, seleziona 1 giorno dalle opzioni.
Per Durata della chiusura automatica degli incidenti, utilizza il valore massimo di 7 giorni.
Fai clic su Avanti.
Se hai già configurato un canale di notifica via email, puoi selezionarlo dall'elenco. In caso contrario, fai clic su Gestisci notifica. canali e aggiungi un canale email. Per informazioni sulla creazione di canali di notifica, consulta Creare e gestire i canali di notifica.
Fai clic su Salva.
Il criterio di avviso basato su log è ora pronto per il test, come descritto in Testa l'esempio di criterio di avviso basato su log
- Scopri come impostare criteri di manutenzione per l'attività ospitante.
- Scopri come ricevere notifiche relative alla migrazione live.
- Scopri come attivare manualmente un evento di manutenzione dell'host
- Scopri come gestire i criteri di avviso basati su log utilizzando la console Google Cloud per Monitoring o l'API Monitoring.
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, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare istanze e gestire la loro manutenzione, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti le autorizzazioni necessarie per creare le istanze e gestire la manutenzione delle istanze. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare istanze e gestire la manutenzione delle istanze sono necessarie le seguenti autorizzazioni:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Limitazioni
Per visualizzare le notifiche di manutenzione per un evento di manutenzione imminente di un in esecuzione, l'istanza deve eseguire un tipo di macchina da uno dei seguenti di macchine:
Panoramica delle notifiche relative alla manutenzione
Google invia notifiche per la manutenzione imminente dell'host tramite diversi metodi. Quando si apre il periodo di manutenzione, Google Cloud esegue automaticamente la manutenzione dell'istanza. Monitorando le tempistiche della tua istanza di manutenzione, puoi preparare in modo proattivo i carichi di lavoro per manutenzione imminente con interruzioni minime.
Le istanze Compute che supportano le notifiche di eventi di manutenzione hanno le seguenti caratteristiche:
Le informazioni su un evento di notifica imminente vengono presentate in modo simile al seguente:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2024-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2024-12-01T22:00:00Z" "windowStartTime": "2024-12-01T19:00:00Z" }
Se non si tratta di un evento di manutenzione imminente, viene visualizzato un messaggio. simile al seguente:
{ "error": "no notifications have been received yet, try again later" }
Definizioni degli stati di manutenzione
Le seguenti definizioni dello stato spiegano le risposte alle query sulla manutenzione dell'host per un'istanza. Forniscono informazioni relative all'evento di manutenzione. Google Cloud CLI, REST e il server di metadati usano gli stessi risposte:
Comportamenti dello stato di manutenzione
Quando gestisci gli eventi di manutenzione, controlla i valori relativi a
canReschedule
emaintenanceStatus
. Se combinati, questi campi indicano le azioni che puoi o non puoi intraprendere in merito alla riprogrammazione di un evento di manutenzione:Visualizzare le notifiche di manutenzione
Puoi trovare le notifiche di manutenzione eseguendo query sulle istanze di calcolo, sul server di metadati o utilizzando Cloud Logging.
Controlla se nelle istanze è presente una notifica relativa a un evento di manutenzione
Utilizza Google Cloud CLI, REST o esegui una query sul server di metadati per verificare se è imminente un evento di manutenzione dell'host per la tua istanza.
gcloud
Per visualizzare la finestra di manutenzione imminente per un'istanza, utilizza il comando
gcloud compute instances describe
.gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE_NAME --format="yaml(upcomingMaintenance)"
Sostituisci quanto segue:
Se è presente un evento di manutenzione imminente, la risposta contiene una sezione simile alla seguente:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2024-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2024-12-01T22:00:00Z" "windowStartTime": "2024-12-01T19:00:00Z" }
In questa risposta:
REST
Per verificare se è prevista la manutenzione di un'istanza, crea una richiesta
GET
utilizzando il metodoinstances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME
Sostituisci quanto segue:
Se si verifica un evento di manutenzione imminente, la risposta contiene un simile alla seguente:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2023-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2023-12-01T22:00:00Z" "windowStartTime": "2023-12-01T19:00:00Z" }
In questa risposta:
Server dei metadati
Dal sistema operativo guest, esegui una query sul server dei metadati per vedere di manutenzione.
$ curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
Controlla se in Cloud Logging è presente una notifica dell'evento di manutenzione
Compute Engine crea eventi di sistema Audit log di Cloud per un'istanza per eventi di manutenzione. Puoi visualizzare questi eventi prima, durante e dopo un evento di manutenzione utilizzando Cloud Logging e Esplora log.
Console
Per eseguire query sui log di controllo per le notifiche di manutenzione di un'istanza, compila i seguenti passaggi:
Esempi di notifiche di manutenzione
In Esplora log viene visualizzata una notifica di evento di manutenzione per un'istanza con valori simili ai seguenti:
Quando inizia l'evento di manutenzione, nei log viene visualizzato un nuovo evento informativo con valori simili ai seguenti:
Durante l'evento di manutenzione, a seconda del criterio di manutenzione dell'host dell'istanza, viene registrato uno dei seguenti eventi di sistema agli audit log:
Al termine dell'evento di manutenzione, viene visualizzato un nuovo evento informativo in gli audit log con valori simili ai seguenti:
Configura avvisi per le notifiche di manutenzione dell'host
Puoi configurare un criterio di avviso basato su log per cercare eventi specifici di notifica di manutenzione e inviare avvisi utilizzando un canale di notifica.
Console
Per creare un avviso per un evento di manutenzione per la tua istanza, completa i seguenti passaggi:
Per saperne di più, consulta Configurare gli avvisi basati su log e Creare e gestire i canali di notifica.
Passaggi successivi
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 2024-10-14 UTC.
-