Creare e gestire le posticipazioni

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

Per una panoramica concettuale, consulta Posticipare notifiche e incidenti.

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

Prima di iniziare

  1. Assicurati di disporre delle autorizzazioni necessarie:

    Per ulteriori informazioni sui ruoli di Cloud Monitoring, consulta Controllare l'accesso con Identity and Access Management.

  2. Se vuoi utilizzare gli esempi dell'API Cloud Monitoring in questo documento, segui questi passaggi:

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

      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 suonino improvvisamente che non hai eseguito l'autenticazione, esegui di nuovo questo comando.

Creare una posticipazione

Per impedire ai criteri di avviso di creare incidenti e inviare notifiche, crea una posticipazione.

Puoi creare una posticipazione utilizzando la console Google Cloud, l'interfaccia alla gcloud CLI'API Cloud Monitoring.

console

  1. Nella console Google Cloud, 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. Per creare una posticipazione da un incidente aperto:
    1. Nel riquadro Incidenti della pagina Allerte, individua l'incidente e fai clic sul relativo Riepilogo incidente.
    2. Nella pagina Dettagli incidente, fai clic su Posticipa e seleziona la durata della posticipazione. Non puoi configurare altri campi.
  3. In caso contrario:

    1. Nella pagina Avvisi, fai clic su Crea posticipazione.
    2. Inserisci un nome descrittivo per la posticipazione. Questo nome viene mostrato nella pagina Avvisi.
    3. Seleziona un'ora di inizio. Puoi inserire un'ora specifica o avviare la ripetizione quando viene creata.
    4. Inserisci la durata. Il valore di questo campo determina la durata della ripetizione.
    5. Completa la sezione Criteri di posticipazione. Puoi utilizzare il menu Criteri di avviso per selezionare i criteri di avviso a cui si applica la posticipazione.

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

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

    6. Fai clic su Crea.

API Cloud Monitoring

Per creare una posticipazione, invoca 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

Il metodo restituisce un oggetto snooze. Il campo "name", che include l'ID posticipazione generato da Monitoraggio, è l'unica differenza tra l'oggetto restituito e i contenuti di my-snooze.json:

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

Interfaccia a riga di comando gcloud

Per creare una ripetizione, 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

Nel comando precedente, end-time deve essere almeno un minuto più tardi rispetto a start-time. Devi seguire le regole di formattazione ISO 8601, ma puoi specificare orari assoluti o relativi. L'esempio seguente specifica i tempi assoluti. Per avviare una ripetizione di 30 minuti dall'ora corrente, usa --start-time="+PTM30M".

Se specifichi più progetti, separali con una virgola.

Ad esempio, il seguente comando crea una posticipazione con il nome visualizzato "Settimana di manutenzione". La posticipazione si applica a due criteri di avviso e copre l'intervallo di tempo dal 1° marzo al 7 marzo:

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

L'esempio precedente crea la seguente ripetizione in my-project:

{
 "name": "projects/my-project/snoozes/98765",
 "displayName": "Maintenance Week",
 "interval": {
   "startTime": "2023-03-01T08:00:00Z",
   "endTime": "2023-03-08T04:59:59Z"
 },
 "criteria": {
   "policies": [
     "projects/my-project/alertPolicies/12345",
     "projects/my-project/alertPolicies/23451",
   ]
 }
}

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

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

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

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

Creare posticipazioni ricorrenti

Per creare posticipazioni che si verificano a intervalli ricorrenti, puoi scrivere uno script che crea una posticipazione per un criterio di avviso. Quindi, utilizza un programma di pianificazione dei job come cron o Cloud Scheduler per eseguire lo script secondo la pianificazione richiesta.

Elenca le posticipazioni

Quando crei una posticipazione, questa viene aggiunta al record storico delle posticipazioni per il tuo progetto. Questo record mostra le spostamenti in un secondo momento 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 una posticipazione e puoi eseguire azioni come modificarla o copiarla.

console

Per visualizzare un elenco di post in attesa:

  1. Nella console Google Cloud, 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. Fai clic su Visualizza tutte le posticipazioni nel riquadro Posticipa.

    La pagina Posticipa mostra un elenco di posticipazioni e una sequenza temporale che visualizza graficamente le posticipazioni passate, imminenti e attive.

    • Per modificare, copiare, annullare o terminare una ripetizione, usa il menu Altre opzioni per la ripetizione. Lo stato di posticipazione determina le opzioni disponibili.
    • Per elencare tutte le posticipazioni, attiva Mostra posticipazioni passate. Per impostazione predefinita, vengono elencate solo le posticipazioni attive e imminenti.
    • Per modificare il periodo di visualizzazione della tabella Sequenza, 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. Le spostamenti in un secondo momento scaduti vengono conservati per 13 mesi.
    • Per visualizzare i dettagli di una posticipazione specifica, fai clic su Visualizza dettagli.
    • Per visualizzare un riepilogo delle spostamenti attivi, posiziona il cursore sull'area ombreggiata della riga Attivo nella tabella Spostamenti. La descrizione comando mostra le informazioni di riepilogo.
    • Per visualizzare una rappresentazione grafica delle spostamenti nel tempo attivi, espandi la riga Attivo della tabella Cronologia.

API Cloud Monitoring

Per elencare tutte le spostamenti nel tempo che appartengono a un progetto Google Cloud, invoca il metodo snoozes.list:

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

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

{
  "snoozes": [
    {
      "name": "projects/my-project/snoozes/2986663705844383744",
      "criteria": {
        "policies": [
          "projects/my-project/alertPolicies/787884840895011889"
        ]
      },
      "interval": {
        "startTime": "2022-11-08T19:00:20Z",
        "endTime": "2022-11-08T19:05:20Z"
      },
      "displayName": "Snooze1"
    }
  ]
}

Per ottenere informazioni su una posticipazione specifica, invoca il metodo snoozes.get e specifica l'ID progetto e l'ID posticipazione. Nella risposta precedente, l'ID posticipazione è 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/2986663705844383744",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/787884840895011889"
    ]
  },
  "interval": {
    "startTime": "2022-11-08T19:00:20Z",
    "endTime": "2022-11-08T19:05:20Z"
  },
  "displayName": "Snooze1"
}

Interfaccia a riga di comando gcloud

Per elencare le posticipazioni nel progetto corrente, esegui il comando gcloud monitoring snoozes list:

gcloud monitoring snoozes list OPTIONAL_FLAGS

Per informazioni sugli indicatori facoltativi, consulta la pagina di riferimento gcloud monitoring snoozes list.

La risposta a questo comando è un elenco di nomi di posticipazioni nel progetto, formattato in 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/98765

Per elencare i dettagli di una posticipazione specifica, esegui il comando gcloud monitoring snoozes describe:

gcloud monitoring snoozes describe NAME

Ad esempio, per visualizzare i dettagli della ripetizione con nomeprojects/my-project/snoozes/98765, esegui il seguente comando:

gcloud monitoring snoozes describe projects/my-project/snoozes/98765

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 una posticipazione

Puoi modificare il nome e il periodo di una spostamento programmata imminente, nonché il nome e l'ora di fine di una spostamento programmata attiva. Ad esempio, quando un periodo di manutenzione viene riprogrammato, potrebbe essere necessario modificare una posticipazione.

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

console

Per modificare una ripetizione:

  1. Nella console Google Cloud, 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. Fai clic su Visualizza tutte le posticipazioni nel riquadro Posticipa.
  3. Nell'elenco delle spostamenti, individua quello che vuoi modificare e poi seleziona Modifica posticipazione nel menu Altre opzioni.
  4. Fai clic su Salva dopo aver completato le modifiche.

API Cloud Monitoring

Per modificare una ripetizione esistente, invoca 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 da modificare. Quando utilizzi curl, parametri di ricerca devono essere codificati in URL.

Per le spostamenti programmati futuri, puoi modificare il nome e il periodo. Per le spostamenti attivi, puoi modificare il nome e l'ora di fine. Non puoi modificare le posticipazioni passate.

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

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

Il metodo restituisce un oggetto snooze identico ai contenuti del file my-updated-snooze.json:

{
  "name": "projects/my-project/snoozes/2986665388391530496",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/7164333552684403347"
    ]
  },
  "interval": {
    "startTime": "2022-11-08T22:26:05Z",
    "endTime": "2022-11-08T22:31:05Z"
  },
  "displayName": "Updated snooze name"
}

Interfaccia a riga di comando gcloud

Per modificare una ripetizione, 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 OPTIONAL_FLAGS

Per un elenco di opzioni per il comando update, consulta la pagina di riferimento di gcloud monitoring snoozes update.

Ad esempio, per cambiare il nome visualizzato della ripetizione con il nome projects/my-project/snoozes/98765, esegui il seguente comando:

gcloud monitoring snoozes update projects/my-project/snoozes/98765  --display-name="March Maintenance"

Terminare o annullare una ripetizione

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

Se hai una spostamento programmata imminente che non vuoi più, annullala. L'operazione di annullamento imposta la durata su zero e comporta il passaggio della ripetizione allo stato Passato.

console

Per terminare una ripetizione attiva o annullare una ripetizione imminente:

  1. Nella console Google Cloud, 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. Fai clic su Visualizza tutte le posticipazioni nel riquadro Posticipa.
  3. Nell'elenco delle spostamenti, individua quello che vuoi terminare o annullare, quindi esegui una delle seguenti operazioni:

    • Per terminare una ripetizione attiva, seleziona Termina ora nel menu Altre opzioni.
    • Per annullare una sveglia posticipata imminente, seleziona Annulla posticipazione nel menu Altre opzioni.

API Cloud Monitoring

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

Per annullare una posticipazione imminente, modificala e imposta l'ora di fine sull'ora di inizio della posticipazione. L'ora di inizio deve essere successiva a quella corrente. Per ulteriori informazioni, vedi Modificare una ripetizione.

Interfaccia a riga di comando gcloud

Per terminare una posticipazione attiva o annullare una posticipazione imminente, esegui il comando gcloud monitoring snoozes cancel:

gcloud monitoring snoozes cancel NAME

Ad esempio, per annullare la ripetizione con il nome projects/my-project/snoozes/98765, esegui il seguente comando:

gcloud monitoring snoozes cancel projects/my-project/snoozes/98765

Copiare una posticipazione

Quando vuoi utilizzare una ripetizione esistente come modello per un'altra ripetizione, creane una copia. Quando copi una ripetizione, viene aperto l'editor della ripetizione con tutti i campi, ad eccezione dell'ora di inizio, impostati sui valori della ripetizione originale. Puoi modificare tutti i campi prima di fare clic su Crea.

Per copiare una ripetizione utilizzando la console:

  1. Nella console Google Cloud, 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. Fai clic su Visualizza tutte le posticipazioni nel riquadro Posticipa.
  3. Nell'elenco delle spostamenti, trova quello che vuoi modificare e poi seleziona Copia spostamento nel menu Altre opzioni.
  4. Applica le modifiche alla copia e poi fai clic su Crea.

Passaggi successivi