Creare e gestire le posticipazioni

Questo documento descrive come creare e gestire i tuoi posticipi. La posticipazione impedisce a Cloud Monitoring di creare incidenti ed emettere notifiche durante un periodo di tempo specifico. Ogni posticipo specifica le risorse a cui si applica.

Per una panoramica concettuale, vedi Posticipare notifiche e incidenti.

Per creare e gestire i rinvii, utilizza la console Google Cloud o l'API Cloud Monitoring.

Questa funzionalità è supportata solo per i progetti Google Cloud . Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.

Prima di iniziare

Completa le seguenti operazioni nel progetto Google Cloud che archivia la tua norma di avviso:

  1. Assicurati di disporre delle autorizzazioni necessarie:

    Per saperne di più sui ruoli Cloud Monitoring, consulta Controllare l'accesso con Identity and Access Management.

  2. Se vuoi utilizzare gli esempi dell'API Cloud Monitoring in questo documento, esegui le seguenti operazioni:

    1. Crea una variabile di ambiente, PROJECT_ID, per contenere l'ID del tuo Google Cloud progetto:

      PROJECT_ID=PROJECT_ID
    2. Esegui l'autenticazione in Google Cloud CLI:

      gcloud auth login
    3. Imposta il progetto Google Cloud predefinito:

      gcloud config set project ${PROJECT_ID}
    4. Crea un token di autorizzazione:

      ACCESS_TOKEN=`gcloud auth print-access-token`

      Devi aggiornare periodicamente il token di accesso. Se i comandi che funzionavano improvvisamente segnalano che non sei autenticato, esegui nuovamente questo comando.

Creare un posticipo

Per impedire ai criteri di avviso di creare incidenti e inviare notifiche, crea una posticipazione. Se vuoi aggiungere un filtro basato su etichette a un posticipo, questo deve essere applicato a un singolo criterio di avviso. Dopo aver creato una sospensione, non puoi modificare il filtro basato sulle etichette o l'elenco dei criteri a cui si applica la sospensione.

Puoi creare una sospensione utilizzando la console, gcloud CLI o l'API Cloud Monitoring. Google Cloud

console

Nella console Google Cloud , puoi creare una sospensione da un incidente aperto o dalla pagina Avvisi. Puoi creare un posticipo con un filtro solo utilizzando la pagina dei dettagli dell'incidente.

Per creare una sospensione da un incidente aperto:

  1. Nella Google Cloud console, vai alla pagina  Avvisi:

    Vai ad Avvisi

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nella barra degli strumenti della console Google Cloud , seleziona il tuo Google Cloud progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
  3. Nel riquadro Incidenti della pagina Avvisi, trova l'incidente e fai clic su Riepilogo incidente.
  4. Nella pagina Dettagli incidente, fai clic su Posticipa e seleziona la durata del posticipo.
  5. (Facoltativo) Per aggiungere un filtro basato sulle etichette al posticipo, vai alla sezione Etichette e seleziona una o più etichette. Un filtro basato sulle etichette può includere etichette di risorse e metriche. Quando il criterio di avviso non è basato su PromQL, il filtro può includere anche le etichette dei metadati.

    In genere, i posticipi si applicano a tutti gli incidenti creati da un criterio di avviso. I filtri ti consentono di applicare la sospensione agli incidenti le cui etichette corrispondono a quelle del filtro.

  6. Fai clic su Posticipa. Il posticipo ora si applica al criterio di avviso che ha creato l'incidente.

Per creare una sospensione dalla pagina Avvisi:

  1. Nella Google Cloud console, vai alla pagina  Avvisi:

    Vai ad Avvisi

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nella barra degli strumenti della console Google Cloud , seleziona il tuo Google Cloud progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
  3. Nella pagina Avvisi, fai clic su Crea posticipo.
  4. Inserisci un nome descrittivo per il posticipo. Questo nome viene visualizzato nella pagina Avvisi.
  5. Seleziona un'ora di inizio. Puoi inserire un orario specifico o avviare il posticipo quando viene creato.
  6. Inserisci la durata. Il valore di questo campo determina la durata del posticipo.
  7. Completa la sezione Criteri di posticipo. Puoi utilizzare il menu Criteri di avviso per selezionare i criteri di avviso a cui si applica la sospensione.

    Puoi aggiungere fino a 16 criteri di avviso a un posticipo.

    Una volta creata una posticipazione, i relativi criteri non possono essere modificati.

    Dopo aver completato la sezione Criteri di posticipo, il riquadro Crea posticipo elenca gli incidenti passati che corrispondono ai criteri.

  8. Fai clic su Crea.

API Cloud Monitoring

Per creare un posticipo, richiama il metodo snoozes.create inviando una richiesta POST all'endpoint Snooze. Devi fornire un oggetto snooze:

curl -d @my-snooze.json -H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-X POST https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes

Nell'espressione precedente, PROJECT_ID è una variabile di ambiente che memorizza l'ID progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.

Il metodo restituisce un oggetto snooze. Il campo "name", che include l'ID posticipo generato da Monitoring, è l'unica differenza tra l'oggetto restituito e il contenuto di my-snooze.json:

{
  "name": "projects/my-project/snoozes/778899",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/001122"
    ]
  },
  "interval": {
    "startTime": "2022-11-12T19:00:20Z",
    "endTime": "2022-11-12T19:05:20Z"
  },
  "displayName": "Snooze2"
}

Interfaccia a riga di comando gcloud

Per creare un posticipo, esegui il comando gcloud monitoring snoozes create:

gcloud monitoring snoozes create --criteria-policies=LIST_OF_POLICIES --display-name=DISPLAY_NAME --start-time=START_TIME --end-time=END_TIME --project=PROJECT_ID --criteria-filter=FILTER

Prima di eseguire il comando precedente, sostituisci quanto segue:

  • LIST_OF_POLICIES: le norme a cui si applica il posticipo. Se specifichi più progetti, separali con una virgola.
  • PROJECT_ID: l'identificatore del progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
  • DISPLAY_NAME: il nome da visualizzare nella console Google Cloud .
  • START_TIME: l'ora di inizio.
  • END_TIME : l'ora di fine. Il valore deve essere successivo all'ora di inizio di almeno un minuto.

    Per l'ora di inizio e di fine, devi seguire le regole di formattazione ISO 8601. Tuttavia, puoi specificare orari assoluti o relativi. L'esempio seguente specifica gli orari assoluti. Per posticipare di 30 minuti a partire dall'ora attuale, usa --start-time="+PTM30M".

  • FILTER: (Facoltativo). È possibile definire un filtro basato su etichette quando il posticipo si applica a un criterio di avviso. Il filtro, che può includere etichette di risorse, metriche e metadati, applica la sospensione agli incidenti con etichette corrispondenti. Quando il criterio di avviso è basato su PromQL, il filtro non può utilizzare le etichette dei metadati. Per ulteriori informazioni, consulta la pagina di riferimento gcloud monitoring snoozes create.

Ad esempio, il seguente comando crea una sospensione per un criterio di avviso con ID "12345". L'intervallo di tempo del posticipo è compreso tra il 1° marzo 2025 e il 7 marzo 2025.

gcloud monitoring snoozes create --display-name="Maintenance Week" \
    --criteria-policies="projects/my-project/alertPolicies/12345" \
    --start-time="2025-03-01T03:00:00.0-0500" \
    --end-time="2025-03-07T23:59:59.5-0500" \
    --project=PROJECT_ID

L'esempio precedente crea il seguente posticipo in my-project:

{
  "name": "projects/my-project/snoozes/778899",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/12345"
    ]
  },
  "interval": {
    "startTime": "2025-03-01T03:00:00.0-0500",
    "endTime": "2025-03-07T23:59:59.5-0500"
  },
  "displayName": "Maintenance Week"
}

In caso di esito positivo, la risposta a questo comando è simile alla seguente:

Created snooze [projects/my-project/snoozes/778899]

Il nome di una criterio di avviso non viene visualizzato nella Google Cloud console. Per determinare il nome di unacriterio di avvisoo, effettua una delle seguenti operazioni:

  • Esegui il comando gcloud alpha monitoring policies list. I dati di risposta di questo comando includono il nome dei tuoi criteri di avviso.
  • Visualizza la rappresentazione JSON di una criterio di avviso. Puoi scaricare la rappresentazione JSON nel tuo sistema locale utilizzando un'opzione nella pagina Dettagli policy.

Creare posticipi ricorrenti

Per creare posticipi che si verificano a intervalli ricorrenti, puoi scrivere uno script che crea un posticipo per un criterio di avviso. Poi, utilizza un programma di pianificazione dei job come cron o Cloud Scheduler per eseguire lo script in base alla pianificazione richiesta.

Elenca posticipi

Quando crei un rinvio, questo viene aggiunto al record storico dei rinvii per il tuo progetto. Questo record mostra i posticipi scaduti, attivi e imminenti. Non puoi rimuovere voci da questo record, ovvero non puoi eliminare un posticipo. Tuttavia, da questa visualizzazione puoi visualizzare i dettagli di un posticipo ed eseguire azioni come la modifica o la copia del posticipo.

console

Per visualizzare un elenco di posticipi:

  1. Nella Google Cloud console, vai alla pagina  Avvisi:

    Vai ad Avvisi

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nella barra degli strumenti della console Google Cloud , seleziona il tuo Google Cloud progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
  3. Fai clic su Visualizza tutte le posticipazioni nel riquadro Posticipa.

    La pagina Posticipa mostra un elenco dei posticipi e una sequenza temporale che mostra graficamente i posticipi passati, futuri e attivi.

    • Per modificare, copiare, annullare o terminare un posticipo, utilizza il menu Altre opzioni per il posticipo. Lo stato di sospensione determina le opzioni disponibili.
    • Per elencare tutte le posticipazioni, attiva Mostra posticipazioni passate. Per impostazione predefinita, vengono elencati solo i posticipi attivi e imminenti.
    • Per modificare il periodo di visualizzazione della tabella Sequenza temporale, utilizza il menu Intervallo di tempo. Per impostazione predefinita, la tabella mostra i dati relativi all'ora successiva. Tuttavia, puoi modificare questo campo per specificare intervalli di tempo passati o futuri. I posticipi scaduti vengono conservati per 13 mesi.
    • Per visualizzare i dettagli di un posticipo specifico, fai clic su Visualizza dettagli.
    • Per visualizzare un riepilogo dei posticipi attivi, posiziona il puntatore sull'area ombreggiata della riga Attivo nella tabella Cronologia. La descrizione comando mostra le informazioni di riepilogo.
    • Per visualizzare una rappresentazione grafica dei posticipi attivi, espandi la riga Attivo della tabella Cronologia.

API Cloud Monitoring

Per elencare tutti i posticipi che appartengono a un progetto Google Cloud , richiama il metodo snoozes.list:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes

Nell'espressione precedente, PROJECT_ID è una variabile di ambiente che memorizza l'ID progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.

Il metodo restituisce un elenco di oggetti snooze. Ad esempio, quando un progetto ha un solo posticipo, la risposta al comando snoozes.list è simile alla seguente:

{
  "name": "projects/my-project/snoozes/778899",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/12345"
    ]
  },
  "interval": {
    "startTime": "2025-03-01T03:00:00.0-0500",
    "endTime": "2025-03-07T23:59:59.5-0500"
  },
  "displayName": "Snooze2"
}

Per ottenere informazioni su un rinvio specifico, richiama il metodo snoozes.get e specifica l'ID progetto e l'ID rinvio. Nella risposta precedente, l'ID posticipo è 2986663705844383744:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes/${SNOOZE_ID}

Il metodo restituisce un singolo oggetto snooze:

{
  "name": "projects/my-project/snoozes/778899",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/12345"
    ]
  },
  "interval": {
    "startTime": "2025-03-01T03:00:00.0-0500",
    "endTime": "2025-03-07T23:59:59.5-0500"
  },
  "displayName": "Snooze2"
}

Interfaccia a riga di comando gcloud

Per elencare i posticipi nel progetto corrente, esegui il comando gcloud monitoring snoozes list:

gcloud monitoring snoozes list --project=PROJECT_ID OPTIONAL_FLAGS

Prima di eseguire il comando precedente, sostituisci quanto segue:

  • PROJECT_ID: l'identificatore del progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
  • OPTIONAL_FLAGS: per informazioni sui flag facoltativi, consulta la pagina di riferimento di gcloud monitoring snoozes list.

La risposta a questo comando è un elenco di nomi di posticipi nel progetto, formattato come YAML. Ad esempio, la risposta a questo comando per il progetto Google Cloud con ID my-project è una singola voce:

criteria:
  policies:
  - projects/my-project/alertPolicies/12345
  - projects/my-project/alertPolicies/23451
displayName: Maintenance Week
interval:
  endTime: '2023-03-08T04:59:59Z'
  startTime: '2023-03-01T08:00:00Z'
name: projects/my-project/snoozes/778899

Per elencare i dettagli di un rinvio specifico, esegui il comando gcloud monitoring snoozes describe:

gcloud monitoring snoozes describe NAME --project=PROJECT_ID

Ad esempio, per visualizzare i dettagli del posticipo con nome projects/my-project/snoozes/778899, esegui questo comando:

gcloud monitoring snoozes describe projects/my-project/snoozes/778899 --project=PROJECT_ID

Se fornisci un NAME non valido a un comando describe, la risposta contiene un codice di errore 500 e il seguente messaggio:

Internal error encountered. Please retry after a few seconds. If internal errors persist, contact support at https://cloud.google.com/support/docs.

Modificare un posticipo

Puoi modificare il nome e il periodo di un posticipo imminente, nonché il nome e l'ora di fine di un posticipo attivo. Ad esempio, quando un periodo di manutenzione viene riprogrammato, potresti dover modificare un posticipo.

Non puoi modificare una posticipazione passata o i criteri di una posticipazione. Tuttavia, se vuoi programmare un posticipo passato per un periodo di tempo futuro, copia il posticipo e applica le modifiche alla copia prima di selezionare Crea.

console

Per modificare un posticipo:

  1. Nella Google Cloud console, vai alla pagina  Avvisi:

    Vai ad Avvisi

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nella barra degli strumenti della console Google Cloud , seleziona il tuo Google Cloud progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
  3. Fai clic su Visualizza tutte le posticipazioni nel riquadro Posticipa.
  4. Nell'elenco dei posticipi, trova quello che vuoi modificare e seleziona Modifica posticipo nel menu Altre opzioni .
  5. Al termine delle modifiche, fai clic su Salva.

API Cloud Monitoring

Per modificare un posticipo esistente, richiama il metodo snoozes.patch inviando una richiesta PATCH all'endpoint Snooze. Devi fornire l'oggetto snooze rivisto e includere parametri di ricerca che identificano i campi modificati. Quando utilizzi curl, i parametri di ricerca devono essere codificati come URL.

Per i posticipi imminenti, puoi modificare il nome e il periodo. Per i posticipi attivi, puoi modificare il nome e l'ora di fine. Non puoi modificare le posticipazioni passate.

Per aggiornare il displayName di un posticipo, crea un file JSON, my-updated-snooze.json, che descrive l'oggetto posticipo e aggiorna il nome visualizzato. Quindi, esegui questo comando:

curl -d @my-updated-snooze.json -H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-X PATCH https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes/${SNOOZE_ID}?updateMask=displayName

Nell'espressione precedente:

  • PROJECT_ID è una variabile di ambiente che memorizza l'ID del tuo progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.

  • SNOOZE_ID è una variabile di ambiente che memorizza l'ID del posticipo.

Il metodo restituisce un oggetto snooze identico al contenuto del file my-updated-snooze.json:

{
  "name": "projects/my-project/snoozes/778899",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/12345"
    ]
  },
  "interval": {
    "startTime": "2025-03-01T03:00:00.0-0500",
    "endTime": "2025-03-07T23:59:59.5-0500"
  },
  "displayName": "Snooze2"
}

Interfaccia a riga di comando gcloud

Per modificare un posticipo, esegui il comando gcloud monitoring snoozes update. Puoi aggiornare il nome visualizzato, l'ora di inizio e l'ora di fine:

gcloud monitoring snoozes update NAME --project=PROJECT_ID OPTIONAL_FLAGS

Prima di eseguire il comando precedente, sostituisci quanto segue:

  • NAME: il nome del posticipo.
  • PROJECT_ID: l'identificatore del progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
  • OPTIONAL_FLAGS: per informazioni sui flag facoltativi, consulta la pagina di riferimento di gcloud monitoring snoozes update.

Ad esempio, per modificare il nome visualizzato del posticipo con il nome projects/my-project/snoozes/778899, esegui questo comando:

gcloud monitoring snoozes update projects/my-project/snoozes/778899 --display-name="Maintenance Week" --project=PROJECT_ID

Terminare o annullare un posticipo

Se vuoi ricevere notifiche per le risorse che corrispondono ai criteri specificati in un posticipo attivo, termina il posticipo. Ad esempio, quando la manutenzione pianificata viene completata più rapidamente del previsto, potresti voler terminare un posticipo.

Se hai una posticipazione imminente che non vuoi più, annullala. L'operazione di annullamento imposta la durata su zero e la ripetizione passa allo stato Passato.

console

Per terminare un posticipo attivo o annullare un posticipo imminente:

  1. Nella Google Cloud console, vai alla pagina  Avvisi:

    Vai ad Avvisi

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nella barra degli strumenti della console Google Cloud , seleziona il tuo Google Cloud progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
  3. Fai clic su Visualizza tutte le posticipazioni nel riquadro Posticipa.
  4. Nell'elenco dei posticipi, individua quello che vuoi terminare o annullare e poi esegui una delle seguenti operazioni:

    • Per terminare un posticipo attivo, seleziona Termina ora nel menu Altre opzioni.
    • Per annullare un posticipo imminente, seleziona Annulla posticipo nel menu Altre opzioni.

API Cloud Monitoring

Per terminare una posticipazione attiva, modificala e imposta l'ora di fine sull'ora attuale. Per ulteriori informazioni, vedi Modificare un posticipo.

Per annullare una posticipazione imminente, modificala e imposta l'ora di fine sull'ora di inizio della posticipazione. L'ora di inizio deve essere un orario futuro. Per ulteriori informazioni, vedi Modificare un posticipo.

Interfaccia a riga di comando gcloud

Per terminare un posticipo attivo o annullare un posticipo imminente, esegui il comando gcloud monitoring snoozes cancel:

gcloud monitoring snoozes cancel NAME --project=PROJECT_ID

Prima di eseguire il comando precedente, sostituisci quanto segue:

  • NAME: il nome del posticipo.
  • PROJECT_ID: l'identificatore del progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.

Ad esempio, per annullare il posticipo con il nome projects/my-project/snoozes/778899, esegui questo comando:

gcloud monitoring snoozes cancel projects/my-project/snoozes/778899 --project=PROJECT_ID

Copiare un posticipo

Quando vuoi utilizzare un posticipo esistente come modello per un altro posticipo, creane una copia. Quando copi un posticipo, l'editor si apre con tutti i campi, tranne l'ora di inizio, impostati sui valori del posticipo originale. Puoi modificare tutti i campi prima di fare clic su Crea.

Per copiare un posticipo utilizzando la console:

  1. Nella Google Cloud console, vai alla pagina  Avvisi:

    Vai ad Avvisi

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nella barra degli strumenti della console Google Cloud , seleziona il tuo Google Cloud progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
  3. Fai clic su Visualizza tutte le posticipazioni nel riquadro Posticipa.
  4. Nell'elenco dei posticipi, trova quello che vuoi modificare e seleziona Copia posticipo nel menu Altre opzioni .
  5. Applica le modifiche alla copia e poi fai clic su Crea.

Passaggi successivi