Crea alertas de métricas

Puedes crear una alerta de Monitoring que te notifique cuando un clúster o una métrica de trabajo de Managed Service para Apache Spark supere un umbral especificado.

Crea una alerta

  1. Abre la página en la Google Cloud consola de Alertas.

  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 el cuadro de entrada "Filtrar por nombre de recurso o métrica", escribe "dataproc" para enumerar las métricas de Managed Service para Apache Spark. Navega por la jerarquía de métricas de Cloud Managed Service para Apache Spark para seleccionar una métrica de clúster, trabajo, lote o 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 el panel Configurar notificaciones y finalizar la alerta.
    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 a Managed Service para Apache Spark y una alerta para un trabajo que se ejecuta como una aplicación YARN.

Alerta de trabajo de Managed Service para Apache Spark de larga duración

Managed Service para Apache Spark emite la métrica dataproc.googleapis.com/job/state, que hace un seguimiento de cuánto tiempo un trabajo estuvo en diferentes estados. Esta métrica se encuentra en el Google Cloud Explorador de métricas de la consola de en el recurso Cloud Managed Service para Apache Spark Job (cloud_dataproc_job). Puedes usar esta métrica para configurar una alerta que te notifique cuando el estado RUNNING del trabajo supere un umbral de duración (límite máximo del umbral : 7 días). Para configurar una alerta para un trabajo que se espera que se ejecute durante más de 7 días, consulta Alerta de aplicación YARN de larga duración.

Configuración de alertas de duración del trabajo

En este ejemplo, se usa el lenguaje de consulta de Prometheus (PromQL) para crear una política de alertas. Para obtener más información, consulta Crea políticas de alertas basadas en PromQL (consola).

sum by (job_id, state) ({
  "__name__"="dataproc.googleapis.com/job/state",
  "monitored_resource"="cloud_dataproc_job",
  "state"="RUNNING"
}) != 0

Para activar esta alerta cuando un trabajo se haya estado ejecutando durante más de 30 minutos, en la pestaña Configurar activador, establece el Intervalo de evaluación en 30 minutos.

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

sum by (job_id) ({
  "__name__"="dataproc.googleapis.com/job/state",
  "monitored_resource"="cloud_dataproc_job",
  "state"="RUNNING",
  "job_id"="1234567890"
}) != 0

Alerta de aplicación YARN de larga duración

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

Primero, algunos antecedentes. 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 tiempo de ejecución entre 0 y 60 minutos.

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

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

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

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

Estos umbrales de bucket predeterminados se pueden modificar si se pasan valores nuevos a la yarn:yarn.resourcemanager.metrics.runtime.buckets propiedad del clúster durante la creación del clúster de Managed Service para Apache Spark. Cuando defines umbrales de bucket personalizados, también debes definir 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 de 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 muestra para la creación de clústeres

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 Google Cloud Explorador de métricas de la consola en el recurso Instancia de VM (gce_instance).

Configuración de alertas de aplicación YARN

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

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

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

    • Configura el umbral para activar la alerta.

Alerta de trabajo de Managed Service para Apache Spark con errores

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

Configuración de alertas de trabajos con errores

En este ejemplo, se usa el lenguaje de consulta de Prometheus (PromQL) para crear una política de alertas. Para obtener más información, consulta Crea políticas de alertas basadas en PromQL (consola).

PromQL de alerta
sum by (job_id, state) ({
  "__name__"="dataproc.googleapis.com/job/state",
  "monitored_resource"="cloud_dataproc_job",
  "state"="ERROR"
}) != 0
Configuración del activador de alertas

En el siguiente ejemplo, la alerta se activa cuando falla cualquier trabajo de Managed Service para Apache Spark en tu proyecto.

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

sum by (job_id) ({
  "__name__"="dataproc.googleapis.com/job/state",
  "monitored_resource"="cloud_dataproc_job",
  "state"="ERROR",
  "job_id"="1234567890"
}) != 0

Alerta de desviación de capacidad del clúster

Managed Service para Apache Spark emite la métrica dataproc.googleapis.com/cluster/capacity_deviation, que informa la diferencia entre la cantidad de nodos esperada en el clúster y la cantidad de nodos YARN activos. Puedes encontrar esta métrica en el Google Cloud Explorador de métricas de la consola de en el recurso Cloud Managed Service para Apache Spark Cluster. Puedes usar esta métrica para crear una alerta que te notifique cuando la capacidad del clúster se desvíe de la capacidad esperada durante más tiempo que un umbral especificado.

Las siguientes operaciones pueden causar una subnotificación temporal de los nodos del clúster en la métrica capacity_deviation. Para evitar alertas de falsos positivos, establece el umbral de alerta de métricas para tener en cuenta estas operaciones:

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

  • Acciones de inicialización del clúster: Las acciones de inicialización se realizan después de que se aprovisiona 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 capacidad

En este ejemplo, se usa el lenguaje de consulta de Prometheus (PromQL) para crear una política de alertas. Para obtener más información, consulta Crea políticas de alertas basadas en PromQL (consola).

{
  "__name__"="dataproc.googleapis.com/cluster/capacity_deviation",
  "monitored_resource"="cloud_dataproc_cluster"
} != 0

En el siguiente ejemplo, la alerta se activa cuando la desviación de capacidad del clúster no es 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 la página de alertas de Monitoring en la Google Cloud consola.

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?