Gestisci canali di notifica

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questo documento descrive come configurare i canali di notifica utilizzando la console Google Cloud. Cloud Monitoring usa questi canali per inviare una notifica a te o al tuo team di guardia quando si attiva un criterio di avviso. Quando crei un criterio di avviso, puoi scegliere chi ricevere le notifiche selezionando dall'elenco dei canali di notifica configurati. Ad esempio, puoi configurare avvisi che monitorino le istanze di Compute Engine per pubblicare un argomento Pub/Sub e inviare notifiche al canale Slack per il team di chiamata.

Se il tuo canale di notifica preferito non è supportato, valuta la possibilità di creare una pipeline che si basi sull'invio delle notifiche a Pub/Sub. Per un esempio Python che utilizza Flask, consulta Creazione di notifiche personalizzate con Cloud Monitoring e Cloud Run. Per altri esempi, consulta il repository Git cloud-alerting-notification-forwarding.

Per configurare i canali di notifica utilizzando l'API Cloud Monitoring, consulta Gestione dei canali di notifica tramite API.

Per informazioni sulle notifiche relative ai criteri di avviso, consulta le seguenti pagine:

  • Per informazioni sul ritardo tra l'avvio di un problema e la creazione di un avviso, consulta Latenza di notifica.
  • Per informazioni sul numero di notifiche generate per un criterio di avviso, consulta Notifiche per incidente.

Per impostazione predefinita, un criterio di avviso invia una notifica solo quando viene creato un incidente. Per ricevere una notifica quando l'incidente è aperto e chiuso, modifica il criterio di avviso e seleziona Invia notifica alla chiusura dell'incidente nella sezione delle notifiche.

Prima di iniziare

Per configurare un canale di notifica, devi avere uno dei seguenti ruoli di Identity and Access Management per il progetto di definizione dell'ambito di un ambito delle metriche:

  • Monitoraggio dell'editor NotificationChannel
  • Editor di Monitoring
  • Amministratore Monitoring
  • Editor del progetto
  • Proprietario del progetto

Per saperne di più su questi ruoli, vedi Controllo dell'accesso.

Crea canale di notifica

Quando crei un criterio di avviso, puoi selezionare qualsiasi canale di notifica configurato e aggiungerlo al criterio. Puoi preconfigurare i tuoi canali di notifica o puoi configurarli come parte della procedura di creazione di un criterio di avviso. Per saperne di più, consulta Creazione di un canale on demand.

Per creare un canale di notifica utilizzando la console Google Cloud, segui le istruzioni specifiche per il canale riportate nella seguente tabella:

Email

Per aggiungere un canale di notifica via email:

  1. Nella console Google Cloud, seleziona Monitoring

    Vai a Monitoring

  2. Fai clic su Avvisi, quindi su Modifica canali di notifica.
  3. Nella sezione Email, fai clic su Aggiungi nuovo.
  4. Completa la finestra di dialogo e fai clic su Salva.

Puoi creare canali email durante la creazione di un criterio di avviso. Per saperne di più, consulta la sezione Creare un canale on demand.

Se utilizzi un indirizzo email di gruppo come canale di notifica per un criterio di avviso, configura il gruppo in modo che accetti la posta da alerting-noreply@google.com.

Applicazione per dispositivi mobili

Utilizza l'app mobile Google Cloud Console per monitorare le risorse della console Google Cloud e le informazioni di Monitoring ovunque ti trovi. Le notifiche dell'app mobile di Google Cloud Console vengono inviate a un dispositivo specifico o a un utente specifico:

Elenco dei canali di notifica dell'app mobile Google Cloud Console.

  • Dispositivo indica che le notifiche vengono inviate soltanto al dispositivo specifico che ha creato il canale di notifica. Per i canali di notifica con ambito a livello di dispositivo, il campo Nome visualizzato include le informazioni sul dispositivo.
  • Utente indica che le notifiche vengono inviate a tutti i dispositivi su cui è installata l'app mobile Google Cloud Console.

Cloud Monitoring determina l'ambito di notifica quando viene creato il canale. Non puoi selezionare o modificare l'ambito.

Per configurare un canale di notifica dell'app mobile Google Cloud Console per un progetto Google Cloud specifico:

  1. Installa l'app mobile Google Cloud Console dallo store del tuo dispositivo mobile.
  2. Seleziona un progetto da visualizzare nell'app mobile Google Cloud Console.

    Dopo aver selezionato un progetto, avviene uno scambio di dati tra l'app e il progetto Google Cloud selezionato. Viene creato un canale di notifica quando non esiste un canale che, dopo alcuni minuti, viene elencato nella sezione Dispositivi mobili della pagina Canali di notifica.

Per aggiungere il tuo dispositivo mobile come canale di notifica per un criterio di avviso, nella sezione Notifiche, seleziona Google Cloud Console (dispositivo mobile), quindi scegli il tuo dispositivo mobile dall'elenco.

PagerDuty

L'integrazione con PagerDuty consente la sincronizzazione unidirezionale o bidirezionale con Monitoring. Indipendentemente dalla configurazione, si verificano quanto segue:

  • Se viene creato un incidente in Monitoring, viene aperto un incidente in PagerDuty.
  • Non puoi utilizzare PagerDuty per chiudere un incidente in Monitoring.

Se utilizzi la sincronizzazione unidirezionale e se risolvi l'incidente in PagerDuty, lo stato dell'incidente in PagerDuty viene disaccoppiato da quello in Monitoring. In effetti, se risolvi un incidente in PagerDuty, l'incidente viene chiuso definitivamente in PagerDuty e non può essere riaperto.

Se utilizzi la sincronizzazione bidirezionale, Monitoring controlla lo stato mostrato da PagerDuty. Se risolvi l'incidente in PagerDuty e se Monitoring ha aperto l'incidente, l'incidente viene riaperto in PagerDuty.

Per configurare le notifiche PagerDuty, procedi nel seguente modo:

  1. In PagerDuty: crea un account PagerDuty sul sito di PagerDuty.
  2. Completa l'integrazione tra PagerDuty e Monitoring seguendo i passaggi descritti nella guida all'integrazione di PagerDuty.

    Gli screenshot nella guida all'integrazione di Stackdriver mostrano il nome del prodotto "Stackdriver" e non sono aggiornati. Tuttavia, i passaggi elencati nella guida sono accurati.

  3. Aggiungi il canale di notifica PagerDuty:
    1. Nella console Google Cloud, seleziona Monitoring
      Vai a Monitoring
    2. Fai clic su Avvisi, quindi su Modifica canali di notifica.
    3. Nella sezione PagerDuty, fai clic su Aggiungi nuovo.
    4. Inserisci il Nome visualizzato. Questo nome deve corrispondere a quello fornito a PagerDuty quando hai aggiunto l'integrazione.
    5. Inserisci la Chiave del servizio di integrazione generata da PagerDuty nel campo Chiave del servizio.
    6. Fai clic su Salva.
  4. (Facoltativo) Se vuoi configurare la sincronizzazione bidirezionale, procedi nel seguente modo:
    1. Apri PagerDuty.
    2. Seleziona Configurazione, seleziona Servizi e poi il nome del servizio inserito durante la configurazione dell'integrazione.
    3. Fai clic su Modifica impostazioni, seleziona Crea incidenti, quindi deseleziona Crea avvisi e incidenti.

Quando crei un criterio di avviso, seleziona PagerDuty nella sezione Notifiche e scegli la configurazione di PagerDuty.

Il pacchetto JSON per PagerDuty ha il seguente formato:

 {
     "description": A string of various fields in the incident,
     "details": JSON payload with schema version 1.2.
 }

Per visualizzare un esempio e lo schema per il campo details, espandi le sezioni seguenti.

Norme sul ritiro

Lo schema di payload è soggetto alle norme sul ritiro di Google Cloud descritte nella Sezione 1.4(d) dei Termini di servizio di Google Cloud Platform. Tieni presente che lo schema non controlla i formati dei valori dei campi generati e che questi formati possono cambiare senza preavviso. Ad esempio, incident.summary, incident.documentation.content e incident.url hanno lo scopo di includere dati pertinenti ai relativi campi, ma lo schema non ha vincoli per garantire un'analisi accurata di questi campi. Puoi utilizzare il valore nel suo insieme e aspettarti che rispetti le norme sul ritiro, ma non fare affidamento sull'analisi dei campi generati.

SMS

Per configurare le notifiche SMS:

  1. Nella console Google Cloud, seleziona Monitoring

    Vai a Monitoring

  2. Fai clic su Avvisi, quindi su Modifica canali di notifica.
  3. Nella sezione SMS, fai clic su Aggiungi nuovo.
  4. Completa la finestra di dialogo e fai clic su Salva.

Quando configuri il criterio di avviso, seleziona il tipo di notifica SMS e scegli un numero di telefono verificato dall'elenco.

Slack

L'integrazione di Monitoring Slack consente ai criteri di avviso di pubblicare su un canale Slack quando viene creato un nuovo incidente. Per configurare le notifiche di Slack:

  1. In Slack: crea un'area di lavoro e un canale di Slack nel sito di Slack. Registra l'URL del canale.

  2. Nella console Google Cloud, seleziona Monitoring:

    Vai a Monitoring

  3. Fai clic su Avvisi, quindi su Modifica canali di notifica.

  4. Nella sezione Slack, fai clic su Aggiungi nuovo per aprire la pagina di accesso di Slack:

    1. Seleziona l'area di lavoro di Slack.
    2. Fai clic su Consenti per abilitare l'accesso di Cloud Monitoring all'area di lavoro di Slack. Questa azione ti riporta alla pagina di configurazione di Monitoring per il tuo canale di notifica.
    3. Nel campo Nome canale Slack, inserisci il nome del canale Slack da utilizzare per le notifiche.
    4. Nel campo Nome visualizzato di Cloud Alert, inserisci una breve istruzione descrittiva. Monitoring visualizza il valore di questo campo nella pagina Canale Notifiche.
    5. (Facoltativo) Per testare la connessione tra Cloud Monitoring e l'area di lavoro di Slack, fai clic su Invia notifica di test. Se la connessione viene stabilita, viene visualizzato un messaggio This is a test alert notification... nel canale di notifica Slack specificato. Controlla il canale di notifica per confermare la ricezione.
  5. Se il canale Slack che vuoi utilizzare per le notifiche è un canale privato, devi invitare manualmente l'app Monitoring nel canale:

    1. Apri Slack.
    2. Vai al canale specificato come canale di notifica di Monitoring.

    3. Invita l'app Monitoring nel canale inserendo e inviando il seguente messaggio:

      /invite @Google Cloud Monitoring

      Assicurati di invitare l'app Monitoring nel canale privato specificato durante la creazione del canale di notifica in Monitoring. L'invito all'app Monitoring per i canali pubblici è facoltativo.

    Quando crei un criterio di avviso, seleziona Slack nella sezione Notifiche e scegli la configurazione di Slack.

Webhook

Per configurare le notifiche webhook, procedi nel seguente modo:

  1. Il gestore webhook: identifica l'URL dell'endpoint pubblico per ricevere i dati del webhook da Monitoring.
  2. Nella console Google Cloud, seleziona Monitoring

    Vai a Monitoring

  3. Fai clic su Avvisi, quindi su Modifica canali di notifica.
  4. Nella sezione Webhook, fai clic su Aggiungi nuovo.
  5. Completa la finestra di dialogo.
  6. Fai clic su Prova connessione per inviare un payload di prova all'endpoint webhook. Puoi andare all'endpoint di destinazione per verificare la consegna.
  7. Fai clic su Salva.

Quando crei un criterio di avviso, seleziona Webhook nella sezione Notifiche e scegli la configurazione del webhook. Le notifiche inviate da Error Reporting seguono lo schema 1.0, mentre le notifiche inviate da Monitoring seguono lo schema 1.2:

Autenticazione di base

Oltre alla richiesta di webhook inviata da Cloud Monitoring, l'autenticazione di base utilizza anche la specifica HTTP per il nome utente e la password. Cloud Monitoring richiede che il server restituisca una risposta 401 con l'intestazione WWW-Authenticate corretta. Per saperne di più sull'autenticazione di base, consulta quanto segue:

Autenticazione dei token

L'autenticazione dei token richiede un parametro della stringa di query nell'URL dell'endpoint e una chiave che il server prevede di essere segreta tra Monitoring e Monitoring. Di seguito è riportato un URL di esempio che include un token:

https://www.myserver.com/stackdriver-hook?auth_token=1234-abcd

Se Monitoring pubblica un incidente nell'URL dell'endpoint, il tuo server può convalidare il token associato. Questo metodo di autenticazione è più efficace se utilizzato con SSL/TLS per criptare la richiesta HTTP che impedisce ai curiosi di apprendere il token.

Per un server di esempio in Python, consulta questo server di esempio.

Norme sul ritiro

Lo schema di payload è soggetto alle norme sul ritiro di Google Cloud descritte nella Sezione 1.4(d) dei Termini di servizio di Google Cloud Platform. Tieni presente che lo schema non controlla i formati dei valori dei campi generati e che questi formati possono cambiare senza preavviso. Ad esempio, incident.summary, incident.documentation.content e incident.url hanno lo scopo di includere dati pertinenti ai relativi campi, ma lo schema non ha vincoli per garantire un'analisi accurata di questi campi. Puoi utilizzare il valore nel suo insieme e aspettarti che rispetti le norme sul ritiro, ma non fare affidamento sull'analisi dei campi generati.

Pub/Sub

Questa sezione descrive come configurare i canali di notifica Pub/Sub. Per la ridondanza, ti consigliamo di creare più canali di notifica. È consigliabile accoppiare Pub/Sub a Google Cloud Console per dispositivi mobili, PagerDuty, Webhook o Slack, perché Pub/Sub utilizza un meccanismo di distribuzione diverso.

Per configurare un canale di notifica Pub/Sub:

  1. Abilita l'API Pub/Sub e crea un argomento
  2. Configurare il canale di notifica per un argomento
  3. Autorizzare un account di servizio
  4. Impostare il canale di notifica in un criterio di avviso

Per comprendere lo schema dei dati, consulta l'esempio di schema.

Per ricevere le notifiche di avviso, devi anche creare una sottoscrizione Pub/Sub. Quando la sottoscrizione si trova in un progetto diverso da quello dell'argomento, crea un account di servizio nel progetto del sottoscrittore e assegnagli il ruolo di roles/pubsub.subscriber per l'argomento.

Prima di iniziare

Quando aggiungi il primo canale di notifica per un progetto Google Cloud, Cloud Monitoring crea un account di servizio per tale progetto. Concede inoltre il ruolo Identity and Access Management all'account di servizio Agente di servizio Notifiche di Monitoring. Questo account di servizio consente a Monitoring di inviare notifiche ai canali di notifica basati su Pub/Sub in questo progetto.

L'account di servizio ha il seguente formato:

service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

Il nome dell'account di servizio delle notifiche include un numero di progetto Cloud univoco. Puoi trovare il nome, l'ID e il numero del progetto nella dashboard del progetto nella console Google Cloud oppure puoi recuperarlo con il comando seguente:

gcloud projects describe PROJECT_ID --format="value(project_number)"

Puoi visualizzare e modificare l'account di servizio utilizzando la console Google Cloud o Google Cloud CLI.

Abilita l'API Pub/Sub e crea un argomento

  1. Abilita l'API Pub/Sub per il tuo progetto Cloud:
    Abilita l'API Pub/Sub

    1. Seleziona il progetto Cloud in cui intendi creare l'argomento Pub/Sub.
    2. Fai clic su Attiva quando viene mostrato. Non è necessario alcun intervento quando viene mostrata l'API abilitata.
  2. Creare un argomento Pub/Sub. Per informazioni su come creare un argomento, consulta l'articolo Creare un argomento. Ad esempio, per creare un argomento denominato notificationTopic utilizzando Google Cloud CLI, esegui questo comando:

    gcloud pubsub topics create notificationTopic

Successivamente, configura i canali di notifica Pub/Sub.

Configurare le notifiche per un argomento

Per creare un canale di notifica Pub/Sub, puoi utilizzare l'API Monitoring, Google Cloud CLI o la console Google Cloud. Dopo aver creato il canale di notifica, autorizza l'account di servizio delle notifiche a pubblicare ogni argomento che utilizzi come canale di notifica.

Per informazioni sull'utilizzo dell'API Monitoring o di Google Cloud CLI per creare il canale di notifica, consulta Creazione dei canali.

Per utilizzare la console Google Cloud per creare il canale di notifica, segui questi passaggi:

  1. Nella console Google Cloud, seleziona Monitoring

    Vai a Monitoring

  2. Seleziona il progetto Cloud che contiene l'argomento Pub/Sub che hai creato.
  3. Fai clic su Avvisi, quindi su Modifica canali di notifica.
  4. Nella sezione Pub/Sub, fai clic su Aggiungi nuovo.

    La finestra di dialogo Canale Pub/Sub creato mostra il nome dell'account di servizio creato da Monitoring.

  5. Autorizza l'account di servizio. Il tuo account di servizio può pubblicare tutti gli argomenti o argomenti specifici:

    • Per pubblicare tutti gli argomenti, seleziona Gestisci ruoli e aggiungi il ruolo di Publisher Pub/Sub.

      Dopo aver completato questi passaggi per configurare il canale di notifica, salta la sezione successiva denominata Autorizza account di servizio e passa a Impostare il canale di notifica in un criterio di avviso.

    • Per pubblicare argomenti specifici, vai al passaggio successivo e autorizza l'account di servizio a pubblicare argomenti specifici dopo aver completato la configurazione del canale di notifica. Per istruzioni su come autorizzare l'account di servizio, consulta la pagina Autorizzare l'account di servizio.
  6. Inserisci un nome visualizzato per il tuo canale e il nome dell'argomento Pub/Sub.
  7. (Facoltativo) Per verificare che il canale sia configurato correttamente, fai clic su Invia notifica di prova.
  8. Seleziona Aggiungi canale.

Quindi, autorizza l'account di servizio.

Autorizza account di servizio

L'autorizzazione consente all'account di servizio delle notifiche di pubblicare ogni argomento Pub/Sub che utilizzi come canale di notifica. Questa sezione descrive come:

  • Autorizzare un account di servizio per un argomento specifico.
  • Autorizzare un account di servizio per tutti gli argomenti.

Autorizzare un account di servizio per un argomento specifico

Puoi autorizzare un account di servizio a pubblicare un argomento specifico utilizzando la console Google Cloud e Google Cloud CLI. Questa sezione descrive entrambi gli approcci.

Per autorizzare il tuo account di servizio per un argomento specifico utilizzando la console Google Cloud, segui questi passaggi:

  1. Vai alla pagina Argomenti per Pub/Sub:
    Vai a Argomenti
  2. Seleziona l'argomento.
  3. Nella scheda Autorizzazioni, seleziona Aggiungi entità.
  4. Nel campo Nuova entità, inserisci il nome dell'account di servizio delle notifiche. L'account di servizio ha la seguente convenzione di denominazione:
    service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
  5. Seleziona il ruolo Publisher Pub/Sub, quindi seleziona Salva.

Per autorizzare il tuo account di servizio per un argomento specifico utilizzando Google Cloud CLI, concedi il ruolo IAM pubsub.publisher per l'argomento all'account di servizio. Ad esempio, il seguente comando configura il ruolo IAM per l'argomento notificationTopic:

gcloud pubsub topics add-iam-policy-binding \
projects/PROJECT_NUMBER/topics/notificationTopic --role=roles/pubsub.publisher \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
 

Una risposta a un'esecuzione corretta del comando add-iam-policy-binding è la seguente:

 Updated IAM policy for topic [notificationTopic].
 bindings:
 ‐ members:
    ‐ serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
    role: roles/pubsub.publisher
 etag: BwWcDOIw1Pc=
 version: 1
 

Per maggiori informazioni, consulta la pagina di riferimento di pubsub topics add-iam-policy-binding.

Autorizza un account di servizio per tutti gli argomenti

Per autorizzare il tuo account di servizio per tutti gli argomenti:

  1. Vai alla pagina IAM:
    Vai a IAM
  2. Seleziona Includi concessioni di ruoli fornite da Google come mostrato nella seguente immagine:
    Seleziona l'opzione Includi concessioni di ruoli fornite da Google.
  3. Cerca l'account di servizio nel seguente formato:
    service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com

    Ricarica la pagina quando l'account di servizio non è presente nell'elenco.

  4. Seleziona Modifica per l'account di servizio delle notifiche, seleziona Aggiungi un altro ruolo, quindi aggiungi il ruolo Publisher Pub/Sub.

Quindi, imposta il canale di notifica con un criterio di avviso.

Imposta il canale di notifica in un criterio di avviso

Per utilizzare un canale di notifica Pub/Sub in un criterio di avviso, seleziona Pub/Sub come tipo di canale, quindi seleziona l'argomento.

Esempio di schema

Per visualizzare un esempio di pacchetto JSON e lo schema, espandi le sezioni seguenti.

Norme sul ritiro

Lo schema di payload è soggetto alle norme sul ritiro di Google Cloud descritte nella Sezione 1.4(d) dei Termini di servizio di Google Cloud Platform. Tieni presente che lo schema non controlla i formati dei valori dei campi generati e che questi formati possono cambiare senza preavviso. Ad esempio, incident.summary, incident.documentation.content e incident.url hanno lo scopo di includere dati pertinenti ai relativi campi, ma lo schema non ha vincoli per garantire un'analisi accurata di questi campi. Puoi utilizzare il valore nel suo insieme e aspettarti che rispetti le norme sul ritiro, ma non fare affidamento sull'analisi dei campi generati.

Crea un canale on demand

Quando aggiungi un canale di notifica a un criterio di avviso, devi selezionarlo da un elenco. Per aggiornare l'elenco delle opzioni durante la creazione di un criterio di avviso, utilizza la procedura seguente:

  1. Nella finestra di dialogo, fai clic su Gestisci canali di notifica. Si apre la finestra Canali di notifica in una nuova scheda del browser.
  2. Per aggiungere un nuovo canale di notifica, individua il tipo di canale, fai clic su Aggiungi nuovo e segui le istruzioni specifiche per il canale contenute nella tabella precedente.
  3. Torna alla scheda originale e fai clic su Aggiorna nella finestra di dialogo della notifica .

    Finestra di dialogo delle notifiche che mostra i pulsanti Aggiorna e Gestisci canali.

  4. Seleziona il canale di notifica dall'elenco aggiornato.

Modificare ed eliminare i canali di notifica

Per modificare o eliminare un canale di notifica utilizzando la console Google Cloud, procedi nel seguente modo:

  1. Nella console Google Cloud, seleziona Monitoring o fai clic sul seguente pulsante:

    Vai a Monitoring

  2. Nel riquadro di navigazione di Monitoring, fai clic su Avvisi.

  3. Fai clic su Modifica canali di notifica.

    La dashboard Canali di notifica contiene una sezione per ogni tipo di canale di notifica. Ogni sezione elenca tutte le configurazioni per quel tipo:

    • Per modificare una voce, fai clic su Modifica . Una volta apportate le modifiche, fai clic su Salva.
    • Per eliminare una voce, fai clic su Elimina . Fai clic su Elimina nella finestra di dialogo di conferma.