Per monitorare lo stato della pipeline di streaming e il consumo di risorse senza configurare manualmente le policy in Cloud Monitoring, puoi attivare gli avvisi chiavi in mano in Dataflow. Gli avvisi chiavi in mano forniscono una suite preconfigurata di policy di avviso consigliate che puoi attivare durante l'avvio del job.
Questa funzionalità ti consente di:
- Ottenere visibilità immediata:monitora automaticamente le metriche di streaming critiche, come il tempo di elaborazione del backlog e la crescita delle vCPU, senza configurazione manuale.
- Standardizzare il monitoraggio:applica rapidamente le policy di avviso di base ai workload di produzione nuovi ed esistenti.
- Personalizzare gli avvisi:regola le soglie di avviso predefinite, disattiva le singole policy o aggiungi le tue policy di avviso personalizzate alla suite.
Puoi personalizzare queste policy predefinite in qualsiasi momento in Cloud Monitoring o integrare le tue policy di avviso personalizzate con la suite di avvisi chiavi in mano.
Prerequisiti
Per utilizzare gli avvisi chiavi in mano, il progetto deve soddisfare i seguenti requisiti:
Canali di notifica: devi aver configurato almeno un canale di notifica (ad esempio email, Slack o PagerDuty). Ti consigliamo di configurare i contatti essenziali per assicurarti che gli avvisi raggiungano le parti interessate corrette. Questo requisito non viene applicato dal servizio Dataflow. Per saperne di più, consulta Crea e gestisci i canali di notifica.
Autorizzazioni: il service account Dataflow (P4SA) richiede autorizzazioni IAM specifiche per creare e gestire queste policy per tuo conto:
monitoring.alertPolicies.getmonitoring.alertPolicies.listmonitoring.alertPolicies.createmonitoring.alertPolicies.updatemonitoring.alertPolicies.delete
Per i nuovi progetti, queste autorizzazioni vengono aggiunte automaticamente. Per i progetti esistenti, potresti dover impostare manualmente queste autorizzazioni sul service account P4SA.
Aggiorna le autorizzazioni P4SA
L'agente di servizio Dataflow (spesso indicato come P4SA o service account per prodotto e per progetto) è un account di servizio gestito automaticamente creato quando abiliti l'API Dataflow. Il suo indirizzo email utilizza il seguente formato:
service-PROJECT_NUMBER@dataflow-service-producer-prod.
Per aggiornare il service account P4SA, devi disporre dell'autorizzazione resourcemanager.projects.setIamPolicy o di un ruolo che include questa autorizzazione, ad esempio Amministratore IAM progetto (roles/resourcemanager.projectIamAdmin).
Per concedere i ruoli richiesti utilizzando la Google Cloud console, segui questi passaggi:
Nella Google Cloud console vai alla pagina IAM.
Seleziona il progetto.
Seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.
Nell'elenco delle entità, individua la riga per l'agente di servizio Dataflow (
service-PROJECT_NUMBER@dataflow-service-producer-prod.o con il ruolo Agente di servizio Cloud Dataflow).In quella riga, fai clic su Modifica entità.
Nel riquadro Modifica autorizzazioni, fai clic su Aggiungi un altro ruolo.
Nell'elenco Seleziona un ruolo, seleziona Editor Monitoring (
roles/monitoring.editor).Fai clic su Salva. La propagazione dell'aggiornamento delle autorizzazioni potrebbe richiedere alcuni minuti.
Attiva gli avvisi chiavi in mano
Puoi registrare un job per gli avvisi chiavi in mano utilizzando gcloud CLI.
Attiva gli avvisi utilizzando gcloud CLI
Aggiungi uno dei seguenti flag durante l'invio del job per attivare o disattivare la funzionalità:
--enable-turnkey-alerts--no-enable-turnkey-alerts
Se il tuo account di servizio non dispone delle autorizzazioni richieste, l'interfaccia a riga di comando rifiuta la richiesta e mostra le autorizzazioni mancanti. Per saperne di più, consulta Prerequisiti.
Le impostazioni degli avvisi chiavi in mano vengono mantenute durante gli aggiornamenti dei job. Quando aggiorni un job, l'impostazione precedente degli avvisi chiavi in mano viene mantenuta, quindi non devi specificare di nuovo il flag --enable-turnkey-alerts o --no-enable-turnkey-alerts a meno che tu non voglia modificare l'impostazione.
Suite di policy predefinita
Gli avvisi chiavi in mano includono due policy principali progettate per i workload di streaming tipici, che si concentrano sui KPI in tempo reale, come i tempi di elaborazione e l'utilizzo delle risorse. Le policy fornite da Google hanno il prefisso Default Policy: per l'identificazione, anche se il servizio utilizza le etichette come identificatore principale.
I clienti vengono registrati automaticamente a tutte le policy nella suite di policy predefinita. Se necessario, puoi disattivare policy predefinite specifiche in Cloud Monitoring Alerting.
| Nome della policy | Metrica di base | Soglia predefinita | Rationale |
|---|---|---|---|
| Default Policy: Estimated Backlog | job/estimated_backlog_processing_time |
30 minuti | Stima il tempo necessario per cancellare il backlog corrente. Un backlog superiore a 30 minuti indica che il job ha difficoltà a fare progressi. |
| Default Policy: vCPU Growth Policy | job/current_num_vcpus |
Aumento superiore a 5 volte dell'utilizzo medio delle vCPU in 1 ora rispetto a una media di 7 giorni | Monitora le modifiche relative nel numero di vCPU per valutare i costi imprevisti dei job. |
Ciclo di vita delle policy
- Policy beta:queste policy hanno il prefisso
BETAnel nome e sono soggette a modifiche o eliminazioni man mano che le soglie vengono perfezionate. - Policy GA:una volta che una policy viene considerata stabile, il prefisso
BETAviene rimosso.
Personalizza e gestisci gli avvisi
Gli avvisi chiavi in mano fungono da punto di partenza. Ti consigliamo di personalizzarli in base alle tue esigenze aziendali specifiche.
- Nella Google Cloud console, vai a Cloud Monitoring > Avvisi.
- Trova la policy (ad esempio, Default Policy: Estimated Backlog).
- Modifica la soglia impostando il valore che preferisci.
Crea policy personalizzate
Puoi aggiungere qualsiasi policy di avviso di Cloud Monitoring alla suite di avvisi chiavi in mano aggiungendo l'etichetta goog-turnkey-alerts. In questo modo puoi gestire le regole personalizzate specifiche per l'attività insieme alla suite predefinita.
Disattiva o elimina le policy di avviso
Puoi disattivare o eliminare policy predefinite specifiche utilizzando Monitoring. Quando disattivi una policy, Monitoring interrompe la valutazione della condizione della policy e non vengono creati nuovi incidenti, ma la configurazione della policy viene mantenuta. Se elimini una policy, questa viene rimossa definitivamente dal progetto. Per saperne di più sulla gestione dei cicli di vita delle policy, consulta Gestisci le policy di avviso e Policy di avviso disattivate.
Risoluzione dei problemi
| Problema | Risoluzione |
|---|---|
| PERMISSION_DENIED | Assicurati che il service account P4SA di Dataflow disponga delle autorizzazioni monitoring.alertPolicies.* richieste elencate nei prerequisiti. Se il service account P4SA non dispone di questi ruoli, la pipeline viene comunque avviata correttamente, ma nell'output della riga di comando e nei log dei job viene visualizzato un errore PERMISSION_DENIED che indica che non è stato possibile creare gli avvisi predefiniti. |
| Nessun avviso ricevuto | Determina se la condizione di avviso è stata soddisfatta controllando gli incidenti. Puoi visualizzare gli attivatori di avvisi e le sequenze temporali degli incidenti in Monitoring (vedi Visualizza incidenti ed eventi). |
| Policy duplicate | In genere, questo accade se più policy condividono l'etichetta goog-turnkey-alerts e la stessa configurazione delle metriche. Dataflow verifica la presenza di etichette e metriche sovrapposte anziché corrispondenze esatte dei nomi. Esamina le policy e rimuovi l'etichetta dalle configurazioni ridondanti. |