Crea alertas de métricas de Dataproc

Puedes crear una alerta de Monitoring que te notifique cuando un clúster de Dataproc o una métrica de trabajo superan un umbral especificado.

Pasos para crear una alerta

Para crear una alerta, sigue estos pasos:

  1. Abre Alertas. en la consola de Google Cloud.

  2. Haz clic en + Crear política para abrir la página Crear política de alertas.

    1. Haz clic en Seleccionar métrica.
    2. En la sección “Filtrar por nombre de recurso o métrica” casilla de entrada, escribe “dataproc” para enumerar las métricas de Dataproc. Navegar por la jerarquía de Las métricas de Cloud Dataproc para seleccionar un clúster, un trabajo, un lote o métrica de sesión.
    3. Haz clic en Aplicar.
    4. Haz clic en Siguiente para abrir el panel Configurar activador de alertas.
    5. Establece un valor de límite para activar la alerta.
    6. Haz clic en Siguiente para abrir la opción Configura las notificaciones y finaliza la alerta. del panel de control.
    7. Establece los canales de notificación, la documentación y el nombre de la política de alertas.
    8. Haz clic en Siguiente para revisar la política de alertas.
    9. Haz clic en Crear política para crear la alerta.

Alertas de muestra

En esta sección, se describe una alerta de muestra para un trabajo enviado al El servicio de Dataproc y una alerta para un trabajo se ejecutan como un archivo YARN y mantener la integridad de su aplicación.

Alerta de trabajo de Dataproc de larga duración

Dataproc emite la métrica dataproc.googleapis.com/job/state. que realiza un seguimiento de cuánto tiempo ha estado un trabajo en diferentes estados. Se encontró esta métrica en el Explorador de métricas de la consola de Google Cloud, en Trabajo de Cloud Dataproc (cloud_dataproc_job). Puedes usar esta métrica para configurar una alerta que te notifique cuando El estado RUNNING supera un umbral de duración.

Configuración de la alerta de duración del trabajo

En este ejemplo, se usa el lenguaje de consulta de Monitoring (MQL) para crea una política de alertas (consulta Crea políticas de alertas de MQL (consola)).

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()

En el siguiente ejemplo, la alerta se activa cuando un trabajo se ejecuta durante más de 30 minutos.

Puedes modificar la consulta si filtras por resource.job_id para aplicarla. a un trabajo específico:

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()

Alerta de aplicación YARN de larga duración

En el ejemplo anterior, se muestra una alerta que se activa cuando un trabajo de Dataproc se ejecuta durante más tiempo. que la duración especificada, pero solo se aplica a los trabajos enviados a Dataproc servicio mediante la consola de Google Cloud, Google Cloud CLI o llamadas directas API de jobs de Dataproc. También puedes usar métricas de OSS para configurar alertas similares que supervisen el tiempo de ejecución de las aplicaciones YARN.

Primero, algo de contexto. YARN emite métricas de tiempo de ejecución en varios buckets. De forma predeterminada, YARN mantiene 60, 300 y 1, 440 minutos como umbrales de bucket. y emite 4 métricas: running_0, running_60, running_300 y running_1440:

  • running_0 registra la cantidad de trabajos con un entorno de ejecución de entre 0 y 60 minutos.

  • running_60 registra la cantidad de trabajos con un entorno de ejecución de entre 60 y 300 minutos.

  • running_300 registra la cantidad de trabajos con un entorno de ejecución de entre 300 y 1,440 minutos.

  • running_1440 registra la cantidad de trabajos con un entorno de ejecución superior a 1,440 minutos.

Por ejemplo, un trabajo que se ejecute durante 72 minutos se registrará en running_60, pero no en running_0.

Estos umbrales predeterminados se pueden modificar pasando valores nuevos al yarn:yarn.resourcemanager.metrics.runtime.buckets propiedad del clúster durante la creación del clúster de Dataproc. Cuando defines umbrales de buckets personalizados, también debes definir las anulaciones de métricas. Por ejemplo, para especificar umbrales de bucket de 30, 60 y 90 minutos, el comando gcloud dataproc clusters create debe incluir las siguientes marcas:

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

  • anulaciones de métricas: ‑‑metric-overrides=yarn:ResourceManager:QueueMetrics:running_0, yarn:ResourceManager:QueueMetrics:running_30,yarn:ResourceManager:QueueMetrics:running_60, yarn:ResourceManager:QueueMetrics:running_90

Comando de creación de clústeres de muestra

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

Estas métricas se enumeran en el Explorador de métricas de la consola de Google Cloud en el recurso Instancia de VM (gce_instance).

Configuración de alertas de la aplicación de YARN

  1. Crea un clúster con los buckets y las métricas necesarios habilitados .

  2. Crear una política de alertas que se active cuando la cantidad de aplicaciones en un bucket de métricas YARN exceden un umbral especificado.

    • De manera opcional, agrega un filtro para alertar sobre clústeres que coincidan con un patrón.

    • Configura el umbral para activar la alerta.

Alerta de trabajo de Dataproc con errores

También puedes usar la métrica dataproc.googleapis.com/job/state (consulta Alerta de trabajo de Dataproc de larga duración) para alertarte cuando falla un trabajo de Dataproc.

Se produjo un error en la configuración de alertas de trabajo

En este ejemplo, se usa el lenguaje de consulta de Monitoring (MQL) para crea una política de alertas (consulta Crea políticas de alertas de MQL (consola)).

MQL de alerta
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()
Configuración del activador de alertas

En el siguiente ejemplo, la alerta se activa cuando cualquier Dataproc tu trabajo falle en tu proyecto.

Puedes modificar la consulta si filtras por resource.job_id para aplicarla. a un trabajo específico:

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()

Alerta de desviación de la capacidad del clúster

Dataproc emite el dataproc.googleapis.com/cluster/capacity_deviation métrica, que informa la diferencia entre el recuento de nodos esperado en la clúster y el recuento de nodos YARN activos. Puedes encontrar esta métrica en la El Explorador de métricas de la consola de Google Cloud Clúster de Cloud Dataproc recurso. Puedes usar esta métrica para crear una alerta que te notifique cuando la capacidad del clúster se desvía de la capacidad esperada por más tiempo del especificado del umbral de duración.

Las siguientes operaciones pueden provocar una disminución temporal en los informes de los nodos del clúster en la métrica capacity_deviation. Para evitar alertas de falsos positivos, configura el umbral de alertas de la métrica para tener en cuenta estas operaciones:

  • Creación y actualizaciones del clúster: La métrica capacity_deviation no es que se emiten durante las operaciones de creación o actualización de clústeres.

  • Acciones de inicialización del clúster: se realizan las acciones de inicialización. después de aprovisionar un nodo.

  • Actualizaciones de trabajadores secundarios: Los trabajadores secundarios se agregan de forma asíncrona. después de que se completa la operación de actualización.

Configuración de alertas de desviación de la capacidad

En este ejemplo, se usa el lenguaje de consulta de Monitoring (MQL) para Crea una política de alertas.

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

En el siguiente ejemplo, la alerta se activa cuando la desviación de la capacidad del clúster no sea cero durante más de 30 minutos.

Ver alertas

Cuando una condición de límite de una métrica activa una alerta, Monitoring crea un incidente y un evento correspondiente. Puedes ver los incidentes desde el La página Alertas de Monitoring en la consola de Google Cloud.

Si definiste un mecanismo de notificación en la política de alertas, como una notificación por correo electrónico o SMS, Monitoring envía una notificación del incidente.

Qué sigue