Questa pagina spiega perché potresti non ricevere le notifiche come previsto e offre possibili soluzioni per queste situazioni.
Notifiche non ricevute
Se non ricevi notifiche tramite i canali di notifica configurati, procedi nel seguente modo:
-
Nella Google Cloud console, vai alla pagina Esplora log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
- Seleziona il progetto Google Cloud appropriato.
Esegui una query nei log per gli eventi del canale di notifica:
- Espandi il menu Nome log e seleziona notification_channel_events.
- Espandi il menu Gravità e seleziona Errore.
- (Facoltativo) Per selezionare un intervallo di tempo personalizzato, utilizza il selettore dell'intervallo di tempo.
- Fai clic su Esegui query.
I passaggi precedenti creano la seguente query:
resource.type:"stackdriver_notification_channel" logName="projects/PROJECT_ID/logs/monitoring.googleapis.com%2Fnotification_channel_events" severity=ERROR
La riga del riepilogo e il campo
jsonPayload
in genere contengono informazioni sull'errore. Ad esempio, quando si verifica un errore del gateway, la riga di riepilogo include "failed with 502 Bad Gateway".
Le notifiche webhook non vengono ricevute
Questa sezione si applica quando non ricevi notifiche tramite un canale di notifica webhook configurato.
Endpoint privato
Se hai un endpoint privato, utilizza le notifiche Pub/Sub in combinazione con una sottoscrizione pull all'argomento di notifica. Non puoi utilizzare i webhook per le notifiche agli endpoint privati.
Quando configuri un canale di notifica Pub/Sub, le notifiche degli incident vengono inviate a una coda Pub/Sub con controlli Identity and Access Management. Qualsiasi servizio che può eseguire query o ascoltare un argomento Pub/Sub può utilizzare queste notifiche. Ad esempio, le applicazioni in esecuzione su macchine virtuali App Engine, Cloud Run o Compute Engine possono utilizzare queste notifiche.
Se utilizzi un abbonamento pull, viene inviata a Google una richiesta che attende l'arrivo di un messaggio. Questi abbonamenti richiedono l'accesso a Google, ma non richiedono regole per firewall o accesso in entrata.
Endpoint pubblico
Per identificare il motivo del mancato recapito, esamina le voci di log di Cloud Logging per informazioni sull'errore.
Ad esempio, puoi cercare le voci di log per la risorsa del canale di notifica utilizzando Esplora log, con un filtro come il seguente:
resource.type="stackdriver_notification_channel"
Le notifiche Pub/Sub non vengono ricevute
Se non ricevi notifiche tramite un canale di notifica Pub/Sub configurato, prova a procedere nel seguente modo:
Assicurati che il account di servizio del servizio di notifica esista. Le notifiche non vengono inviate quando ilaccount di serviziot è stato eliminato.
Per verificare che il account di servizio esista:
-
Nella console Google Cloud , vai alla pagina IAM:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo IAM e amministrazione.
Cerca un account di servizio che abbia la seguente convenzione di denominazione:
service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com
Se questo account di servizio non è elencato, seleziona Includi concessioni di ruoli fornite da Google.
Se il account di servizio di notifica non esiste, devi iniziare la procedura di creazione del canale di notifica Pub/Sub per Monitoring per creare iaccount di serviziont:
-
Nella Google Cloud console, vai alla pagina notifications Avvisi:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Fai clic su Modifica canali di notifica.
Nella sezione Pub/Sub, fai clic su Aggiungi nuovo.
Il monitoraggio crea il account di servizio delle notifiche se non esiste. La finestra di dialogo Crea canale Pub/Sub mostra il nome del account di servizio di notifica.
Se non vuoi aggiungere un canale di notifica, fai clic su Annulla. In caso contrario, completa la creazione del canale di notifica e fai clic su Aggiungi canale.
Concedi all'account di servizio le autorizzazioni per pubblicare gli argomenti Pub/Sub:
- In una nuova scheda del browser, apri il documento Crea un canale di notifica.
- Seleziona la scheda Pub/Sub e poi segui i passaggi nella sezione Autorizza service account della pagina.
-
Assicurati che l'account di servizio delle notifiche sia stato autorizzato a inviare notifiche per gli argomenti Pub/Sub di interesse.
Per visualizzare le autorizzazioni per un account di servizio, puoi utilizzare la consoleGoogle Cloud o il comando Google Cloud CLI:
- La pagina IAM della console Google Cloud elenca i ruoli per ogni account di servizio.
- La pagina Argomenti di Pub/Sub nella console Google Cloud elenca ogni argomento. Quando selezioni un argomento, la scheda Autorizzazioni elenca i ruoli concessi ai service account.
Per elencare tutti i service account e i relativi ruoli, esegui questo comando Google Cloud CLI:
gcloud projects get-iam-policy PROJECT_ID
Di seguito è riportata una risposta parziale per questo comando:
serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com role: roles/monitoring.notificationServiceAgent - members: [...] role: roles/owner - members: - serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com role: roles/pubsub.publisher
La risposta al comando include solo i ruoli, non l'autorizzazione per argomento.
Per elencare i binding IAM per un argomento specifico, esegui questo comando:
gcloud pubsub topics get-iam-policy TOPIC
Di seguito è riportato un esempio di risposta per questo comando:
bindings: - members: - serviceAccount:service-PROJECT_NUMBER@gcp-sa-monitoring-notification.iam.gserviceaccount.com role: roles/pubsub.publisher etag: BwXPRb5WDPI= version: 1
Per informazioni su come autorizzare il account di servizio delle notifiche, vedi Autorizzare il service account.
Non ricevi una notifica quando una VM viene arrestata
Per ricevere una notifica quando una macchina virtuale (VM) si arresta, crea un controllo di uptime per interrogare periodicamente la VM, quindi crea un criterio di avviso per monitorare il controllo di uptime. Se utilizzi un Virtual Private Cloud (VPC), potresti dover creare un controllo privato dell'uptime.
Un criterio di avviso che monitora la metrica
compute.googleapis.com/instance/uptime
o
non ti invierà una notifica quando la VM viene arrestata. Per questa metrica, le norme di avviso monitorano solo le serie temporali per le istanze VM che si trovano nello stato RUNNING
. Se una VM si trova in un altro stato, ad esempio STOPPED
o DELETED
,
non viene monitorata. Per informazioni sugli stati delle istanze VM, vedi
Ciclo di vita delle istanze VM.
Le notifiche per i criteri di avviso basati sul conteggio delle richieste non vengono ricevute
Se non ricevi notifiche per un criterio di avviso che monitora la metrica
serviceruntime.googleapis.com/api/request_count
,
assicurati che il periodo di allineamento del criterio non superi
le 7 ore e 30 minuti.
Non vengono ricevuti messaggi di notifica SMS o codici di verifica
Se non ricevi notifiche SMS o codici di verifica, assicurati di non aver raggiunto il limite di messaggi SMS. Potrebbero essere presenti
log che confermano questo errore. Controlla i log per Denied quota token
.
Come consiglio generale, sconsigliamo di fare affidamento esclusivamente sui canali SMS per le notifiche. Le notifiche via SMS vengono offerte secondo il criterio del "best effort".