Crea avvisi relativi alle metriche Dataproc

Puoi creare un avviso di Monitoring per ricevere una notifica quando una metrica di cluster o job Dataproc supera una soglia specificata.

Passaggi per creare un avviso

Per creare un avviso:

  1. Apri lo strumento Avvisi. nella console Google Cloud.

  2. Fai clic su + Crea criterio per aprire la pagina Crea criterio di avviso.

    1. Fai clic su Seleziona metrica.
    2. Nella sezione "Filtra per nome risorsa o metrica" casella di immissione, digita "dataproc" per elencare le metriche Dataproc. Naviga nella gerarchia Metriche Cloud Dataproc per selezionare un cluster, un job, un batch o di sessione.
    3. Fai clic su Applica.
    4. Fai clic su Avanti per aprire il riquadro Configura trigger di avviso.
    5. Imposta un valore di soglia per attivare l'avviso.
    6. Fai clic su Avanti per aprire l'avviso Configura le notifiche e finalizza riquadro.
    7. Imposta i canali di notifica, la documentazione e il nome del criterio di avviso.
    8. Fai clic su Avanti per esaminare il criterio di avviso.
    9. Fai clic su Crea criterio per creare l'avviso.
di Gemini Advanced.

Avvisi di esempio

Questa sezione descrive un avviso di esempio per un job inviato a Servizio Dataproc e avviso relativo a un job eseguito come YARN un'applicazione.

Avviso di job Dataproc a lunga esecuzione

Dataproc emette la metrica dataproc.googleapis.com/job/state, che tiene traccia del tempo di tempo in cui un job è stato in stati diversi. Questa metrica è stata trovata in Metrics Explorer della console Google Cloud, nel Job Cloud Dataproc (cloud_dataproc_job). Puoi utilizzare questa metrica per configurare un avviso che ti avvisi quando Lo stato RUNNING supera una soglia di durata.

Configurazione degli avvisi relativi alla durata del job

In questo esempio viene utilizzato Monitoring Query Language (MQL) per Creare un criterio di avviso (consulta Creazione di criteri di avviso MQL (console)).

fetch cloud_dataproc_job
| metric 'dataproc.googleapis.com/job/state'
| filter metric.state == 'RUNNING'
| group_by [resource.job_id, metric.state], 1m
| condition val() == true()

Nell'esempio seguente, l'avviso si attiva quando è in esecuzione un job per più di 30 minuti.

Puoi modificare la query filtrando in base a resource.job_id per applicarla a un lavoro specifico:

fetch cloud_dataproc_job
| metric 'dataproc.googleapis.com/job/state'
| filter (resource.job_id == '1234567890') && (metric.state == 'RUNNING')
| group_by [resource.job_id, metric.state], 1m
| condition val() == true()

Avviso di applicazione YARN a lunga esecuzione

L'esempio precedente mostra un avviso che viene attivato quando un job Dataproc viene eseguito più a lungo della durata specificata, ma si applica solo ai job inviati a Dataproc tramite la console Google Cloud, Google Cloud CLI o chiamate dirette API Dataproc jobs. Puoi anche usare le metriche OSS per impostare avvisi simili per monitorare il tempo di esecuzione delle applicazioni YARN.

Innanzitutto, alcune informazioni di base. YARN emette metriche relative al tempo di esecuzione in più bucket. Per impostazione predefinita, YARN mantiene 60, 300 e 1440 minuti come soglie dei bucket ed emette quattro metriche, running_0, running_60, running_300 e running_1440:

  • running_0 registra il numero di job con un runtime compreso tra 0 e 60 minuti.

  • running_60 registra il numero di job con un runtime compreso tra 60 e 300 minuti.

  • running_300 registra il numero di job con un runtime compreso tra 300 e 1440 minuti.

  • running_1440 registra il numero di job con un runtime superiore a 1440 minuti.

Ad esempio, un job in esecuzione per 72 minuti verrà registrato in running_60, ma non in running_0.

Queste soglie predefinite dei bucket possono essere modificate passando nuovi valori agli yarn:yarn.resourcemanager.metrics.runtime.buckets proprietà cluster durante la creazione del cluster Dataproc. Quando definisci soglie dei bucket personalizzati, devi anche definire le sostituzioni delle metriche. Ad esempio, per specificare soglie per i bucket di 30, 60 e 90 minuti, il comando gcloud dataproc clusters create deve includere i seguenti flag:

  • soglie dei bucket: ‑‑properties=yarn:yarn.resourcemanager.metrics.runtime.buckets=30,60,90

  • metrics overrides: ‑‑metric-overrides=yarn:ResourceManager:QueueMetrics:running_0, yarn:ResourceManager:QueueMetrics:running_30,yarn:ResourceManager:QueueMetrics:running_60, yarn:ResourceManager:QueueMetrics:running_90

Esempio di comando di creazione del cluster

gcloud dataproc clusters create test-cluster  \
   --properties ^#^yarn:yarn.resourcemanager.metrics.runtime.buckets=30,60,90  \
   --metric-sources=yarn  \
   --metric-overrides=yarn:ResourceManager:QueueMetrics:running_0,yarn:ResourceManager:QueueMetrics:running_30,yarn:ResourceManager:QueueMetrics:running_60,yarn:ResourceManager:QueueMetrics:running_90

Queste metriche sono elencate in Metrics Explorer della console Google Cloud nella risorsa Istanza VM (gce_instance).

Configurazione avvisi applicazione YARN

  1. Crea un cluster con i bucket e le metriche richiesti abilitati .

  2. Crea un criterio di avviso che si attiva quando il numero di applicazioni in un bucket di metriche YARN superano una soglia specificata.

    • Facoltativamente, aggiungi un filtro per inviare avvisi sui cluster che corrispondono a un pattern.

    • Configura la soglia per l'attivazione dell'avviso.

Avviso di job Dataproc non riuscito

Puoi anche utilizzare la metrica dataproc.googleapis.com/job/state (vedi Avviso di job Dataproc da lunga esecuzione), per ricevere un avviso in caso di errore di un job Dataproc.

Configurazione dell'avviso di job non riuscita

In questo esempio viene utilizzato Monitoring Query Language (MQL) per Creare un criterio di avviso (consulta Creazione di criteri di avviso MQL (console)).

Avviso MQL
fetch cloud_dataproc_job
| metric 'dataproc.googleapis.com/job/state'
| filter metric.state == 'ERROR'
| group_by [resource.job_id, metric.state], 1m
| condition val() == true()
Configurazione dell'attivatore di avviso

Nell'esempio seguente, l'avviso si attiva quando viene attivato qualsiasi Dataproc un job non va a buon fine nel progetto.

Puoi modificare la query filtrando in base a resource.job_id per applicarla a un lavoro specifico:

fetch cloud_dataproc_job
| metric 'dataproc.googleapis.com/job/state'
| filter (resource.job_id == '1234567890') && (metric.state == 'ERROR')
| group_by [resource.job_id, metric.state], 1m
| condition val() == true()

Avviso di deviazione della capacità del cluster

Dataproc emette l'errore dataproc.googleapis.com/cluster/capacity_deviation che segnala la differenza tra il numero di nodi previsto nella di cluster e il numero di nodi YARN attivi. Puoi trovare questa metrica nella Esplora metriche della console Google Cloud nel Cluster Cloud Dataproc risorsa. Puoi utilizzare questa metrica per creare un avviso che ti avvisa quando la capacità del cluster devia dalla capacità prevista per un periodo superiore a quello specificato la durata della soglia.

Le seguenti operazioni possono causare un problema temporaneo di reporting dei nodi del cluster nella metrica capacity_deviation. Per evitare avvisi di falsi positivi, imposta la soglia di avviso della metrica per tenere conto di queste operazioni:

  • Creazione e aggiornamenti del cluster: la metrica capacity_deviation non è emesse durante le operazioni di creazione o aggiornamento del cluster.

  • Azioni di inizializzazione del cluster:vengono eseguite azioni di inizializzazione dopo il provisioning di un nodo.

  • Aggiornamenti dei worker secondari:i worker secondari vengono aggiunti in modo asincrono. al termine dell'operazione di aggiornamento.

di Gemini Advanced.

Configurazione degli avvisi di deviazione della capacità

In questo esempio viene utilizzato Monitoring Query Language (MQL) per creando un criterio di avviso.

fetch cloud_dataproc_cluster
| metric 'dataproc.googleapis.com/cluster/capacity_deviation'
| every 1m
| condition val() <> 0 '1'

Nel prossimo esempio, l'avviso si attiva quando la deviazione della capacità del cluster sia diverso da zero per più di 30 minuti.

Visualizza avvisi

Quando un avviso viene attivato da una condizione di soglia della metrica, Monitoring crea un incidente e un evento corrispondente. Puoi visualizzare gli incidenti Monitoring Alerting (Avvisi di Monitoring) nella console Google Cloud.

Se hai definito un meccanismo di notifica nel criterio di avviso, ad esempio una notifica via email o SMS, Il monitoraggio invia una notifica dell'incidente.

Passaggi successivi