Creare e gestire le posticipazioni

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

Per una panoramica concettuale, consulta Posticipare notifiche e avvisi.

Per creare e gestire le posticipazioni, puoi utilizzare la console Google Cloud o l'API Cloud Monitoring.

Prima di iniziare

  1. Assicurati di disporre delle autorizzazioni richieste:

    • Per ottenere le autorizzazioni necessarie per visualizzare e modificare le posticipazioni utilizzando la console Google Cloud, chiedi all'amministratore di concederti il ruolo IAM Editor Monitoring (roles/monitoring.editor) per il tuo progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

      Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

    • Per ottenere le autorizzazioni necessarie per visualizzare e modificare le posticipazioni utilizzando l'API Cloud Monitoring, chiedi all'amministratore di concederti il ruolo IAM Editor posticipazione Monitoring (roles/monitoring.snoozeEditor) per il tuo progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

      Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

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

  2. Se vuoi utilizzare gli esempi di API Cloud Monitoring in questo documento:

    1. Crea una variabile di ambiente, PROJECT_ID, in cui inserire 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 hanno funzionato all'improvviso segnalano che il tuo account non è autenticato, invia di nuovo il comando.

Crea un posticipo

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

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

console

  1. Nel pannello di navigazione della console Google Cloud, seleziona Monitoring e poi  Avvisi:

    Vai ad Avvisi

  2. Per creare una posticipazione da un incidente aperto:
    1. Nel riquadro Incidenti della pagina Avvisi, trova l'incidente e fai clic su Riepilogo incidenti.
    2. Nella pagina Dettagli incidente, fai clic su Posticipa e seleziona la durata del 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 orario specifico o avviare la posticipazione quando la crei.
    4. Inserisci la Durata. Il valore di questo campo determina la durata della posticipazione.
    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 una posticipazione.

      Una volta completata la sezione Criteri di posticipazione, nel riquadro Crea posticipazione vengono elencati gli incidenti passati che corrispondono ai criteri.

    6. Fai clic su Crea.

API Cloud Monitoring

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

Il metodo restituisce un oggetto snooze. Il campo "name", che include l'ID di posticipazione generato da Monitoring, è 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 posticipazione, 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 successivo di almeno un minuto rispetto a start-time. Devi seguire le regole di formattazione ISO 8601; tuttavia, puoi specificare tempi assoluti o relativi. L'esempio seguente specifica i tempi assoluti. Per avviare un posticipo 30 minuti dopo l'ora attuale, utilizza --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". Il posticipo si applica a due criteri di avviso e si estende sull'intervallo di tempo dal 1° 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 posticipazione 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",
   ]
 }
}

Se l'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, esegui 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 un criterio di avviso. Puoi scaricare la rappresentazione JSON sul tuo sistema locale utilizzando un'opzione nella pagina Dettagli criterio.

Creare posticipazioni ricorrenti

Per creare posticipazioni su intervalli ricorrenti, puoi scrivere uno script che crei una posticipazione per un criterio di avviso. Quindi, utilizza uno scheduler dei job come cron o Cloud Scheduler per eseguire lo script in base alla pianificazione richiesta.

Elenco posticipazioni

Quando crei una posticipazione, questa viene aggiunta al registro storico delle posticipazioni del tuo progetto. Questo record mostra le posticipazioni scadute, attive e future. Non puoi rimuovere voci da questo record, ovvero non puoi eliminare una posticipazione. Tuttavia, in questa visualizzazione puoi mostrare i dettagli della posticipazione e compiere azioni come modificare o copiare la posticipazione.

console

Per visualizzare un elenco di posticipazioni:

  1. Nel pannello di navigazione della console Google Cloud, seleziona Monitoring e poi  Avvisi:

    Vai ad Avvisi

  2. Fai clic su Visualizza tutti i posticipazioni nel riquadro Posticipa.

    La pagina Posticipa mostra un elenco di posticipazioni e una sequenza temporale che mostra in modo grafico le posticipazioni passate, future e attive.

    • Per modificare, copiare, annullare o terminare una posticipazione, utilizza il menu Altre opzioni per la posticipazione. Lo stato di posticipazione determina le opzioni disponibili.
    • Per elencare tutte le posticipazioni, attiva Mostra posticipazioni passate. Per impostazione predefinita, sono elencati solo le posticipazioni attive e future.
    • Per modificare il periodo di visualizzazione della tabella Sequenza temporale, utilizza il menu Intervallo di tempo. Per impostazione predefinita, la tabella mostra i dati per l'ora successiva. Tuttavia, puoi modificare questo campo per specificare intervalli di tempo passati o futuri. Le posticipazioni scadute vengono conservate per 13 mesi.
    • Per visualizzare i dettagli di una posticipazione specifica, fai clic su Visualizza dettagli.
    • Per visualizzare un riepilogo delle posticipazioni attive, posiziona il puntatore sull'area ombreggiata della riga Attivo nella tabella Sequenza temporale. La descrizione comando mostra le informazioni di riepilogo.
    • Per visualizzare una rappresentazione grafica delle posticipazioni attive, espandi la riga Attiva della tabella Sequenza temporale.

API Cloud Monitoring

Per elencare tutte le posticipazioni 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

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, richiama il metodo snoozes.get e specifica l'ID progetto e l'ID posticipazione. Nella risposta precedente, l'ID di 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 sui flag facoltativi, consulta la pagina di riferimento di gcloud monitoring snoozes list.

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

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 posticipazione con nome projects/my-project/snoozes/98765, esegui questo comando:

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

Se fornisci un valore 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 una posticipazione imminente nonché il nome e l'ora di fine di una posticipazione attiva. Ad esempio, quando un periodo di manutenzione viene riprogrammato, potresti dover modificare una posticipazione.

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

console

Per modificare una posticipazione:

  1. Nel pannello di navigazione della console Google Cloud, seleziona Monitoring e poi  Avvisi:

    Vai ad Avvisi

  2. Fai clic su Visualizza tutti i posticipazioni nel riquadro Posticipa.
  3. Nell'elenco delle posticipazioni, individua quella che vuoi modificare, quindi seleziona Modifica posticipazione nel menu Altre opzioni .
  4. Fai clic su Salva dopo aver completato le modifiche.

API Cloud Monitoring

Per modificare una posticipazione 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, parametri di ricercay devono essere codificati nell'URL.

Per le posticipazioni future, puoi modificare il nome e la mestruazione. Per le posticipazioni attive, puoi modificare il nome e l'ora di fine. Non puoi modificare le posticipazioni precedenti.

Per aggiornare il valore displayName di una posticipazione, crea un file JSON (my-updated-snooze.json) che descriva l'oggetto Posticipa e aggiorni 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

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 posticipazione, 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 delle opzioni per il comando update, consulta la pagina di riferimento di gcloud monitoring snoozes update.

Ad esempio, per modificare il nome visualizzato della posticipazione con il nome projects/my-project/snoozes/98765, esegui questo comando:

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

Terminare o annullare una posticipazione

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

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

console

Per terminare una posticipazione attiva o per annullare una posticipazione imminente:

  1. Nel pannello di navigazione della console Google Cloud, seleziona Monitoring e poi  Avvisi:

    Vai ad Avvisi

  2. Fai clic su Visualizza tutti i posticipazioni nel riquadro Posticipa.
  3. Nell'elenco delle posticipazioni, trova quella che vuoi terminare o annullare, quindi esegui una delle seguenti operazioni:

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

API Cloud Monitoring

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

Per annullare una posticipazione imminente, modifica la posticipazione e imposta l'ora di fine sull'ora di inizio della posticipazione. L'ora di inizio deve essere una data futura. Per ulteriori informazioni, vedi Modificare una posticipazione.

Interfaccia a riga di comando gcloud

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

gcloud monitoring snoozes cancel NAME

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

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

Copiare un posticipo

Quando vuoi usare una posticipazione esistente come modello per un'altra posticipazione, crea una copia. Quando copi una posticipazione, l'editor del posticipo si apre con tutti i campi, tranne l'ora di inizio impostata sui valori della posticipazione originale. Puoi modificare tutti i campi prima di fare clic su Crea.

Per copiare una posticipazione utilizzando la console:

  1. Nel pannello di navigazione della console Google Cloud, seleziona Monitoring e poi  Avvisi:

    Vai ad Avvisi

  2. Fai clic su Visualizza tutti i posticipazioni nel riquadro Posticipa.
  3. Nell'elenco delle posticipazioni, individua quella che vuoi modificare, quindi seleziona Copia posticipazione nel menu Altre opzioni di .
  4. Applica le modifiche alla copia e fai clic su Crea.

Passaggi successivi