Alertas listas para usar de Dataflow

Para supervisar el estado de la canalización de transmisión y el consumo de recursos sin configurar manualmente las políticas en Cloud Monitoring, puedes habilitar las alertas llave en mano en Dataflow. Las alertas llave en mano proporcionan un conjunto preconfigurado de políticas de alertas recomendadas que puedes habilitar durante el inicio del trabajo.

Esta función te permite hacer lo siguiente:

  • Obtener visibilidad instantánea: Realiza un seguimiento automático de las métricas de transmisión críticas, como el tiempo de procesamiento de tareas pendientes y el crecimiento de la CPU virtual, sin configuración manual.
  • Estandarizar la supervisión: Aplica rápidamente políticas de alertas de referencia en cargas de trabajo de producción nuevas y existentes.
  • Personalizar alertas: Ajusta los umbrales de alertas predeterminados, inhabilita políticas individuales o agrega tus propias políticas de alertas personalizadas al conjunto.

Puedes personalizar estas políticas predeterminadas en cualquier momento en Cloud Monitoring o integrar tus propias políticas de alertas personalizadas con el conjunto de alertas llave en mano.

Requisitos previos

Para usar las alertas llave en mano, tu proyecto debe cumplir con los siguientes requisitos:

  1. Canales de notificaciones: Debes tener configurado al menos un canal de notificaciones (por ejemplo, correo electrónico, Slack o PagerDuty). Te recomendamos que configures los contactos esenciales para garantizar que las alertas lleguen a las partes interesadas correctas. El servicio de Dataflow no aplica este requisito. Para obtener más información, consulta Cómo crear y administrar canales de notificaciones.

  2. Permisos: La cuenta de servicio de Dataflow (P4SA) requiere permisos de IAM específicos para crear y administrar estas políticas en tu nombre:

    • monitoring.alertPolicies.get
    • monitoring.alertPolicies.list
    • monitoring.alertPolicies.create
    • monitoring.alertPolicies.update
    • monitoring.alertPolicies.delete

    En los proyectos nuevos, estos permisos se agregan automáticamente. En los proyectos existentes, es posible que debas configurar estos permisos de forma manual en la cuenta de P4SA.

Actualiza los permisos de P4SA

El agente de servicio de Dataflow (a menudo denominado P4SA o cuenta de servicio por producto y por proyecto) es una cuenta de servicio administrada automáticamente que se crea cuando habilitas la API de Dataflow. Su dirección de correo electrónico usa el siguiente formato:

service-PROJECT_NUMBER@dataflow-service-producer-prod.iam.gserviceaccount.com

Para actualizar la P4SA, necesitas el permiso resourcemanager.projects.setIamPolicy o un rol que incluya este permiso, como Administrador de IAM del proyecto (roles/resourcemanager.projectIamAdmin).

Para otorgar los roles necesarios con la Google Cloud consola, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página IAM.

    Ir a IAM

  2. Elige tu proyecto.

  3. Selecciona la casilla de verificación Incluir asignaciones de funciones proporcionadas por Google.

  4. En la lista de principales, busca la fila del agente de servicio de Dataflow (service-PROJECT_NUMBER@dataflow-service-producer-prod.iam.gserviceaccount.com o con el rol Agente de servicio de Cloud Dataflow).

  5. En esa fila, haz clic en Editar principal.

  6. En el panel Editar permisos, haz clic en Agregar otra función.

  7. En la lista Seleccionar un rol, selecciona Editor de Monitoring (roles/monitoring.editor).

  8. Haz clic en Guardar. Es posible que la actualización de permisos tarde varios minutos en propagarse.

Habilita las alertas llave en mano

Puedes inscribir un trabajo en alertas llave en mano con gcloud CLI.

Habilita las alertas con gcloud CLI

Agrega una de las siguientes marcas durante el envío del trabajo para habilitar o inhabilitar la función:

  • --enable-turnkey-alerts
  • --no-enable-turnkey-alerts

Si tu cuenta de servicio no tiene los permisos necesarios, la CLI rechaza la solicitud y muestra los permisos faltantes. Para obtener más información, consulta Requisitos previos.

La configuración de alertas llave en mano se conserva en las actualizaciones de trabajos. Cuando actualizas un trabajo, se conserva la configuración anterior de alertas llave en mano, por lo que no necesitas especificar la marca --enable-turnkey-alerts o --no-enable-turnkey-alerts nuevamente, a menos que desees cambiar la configuración.

Conjunto de políticas predeterminadas

Las alertas llave en mano incluyen dos políticas principales diseñadas para cargas de trabajo de transmisión típicas, que se enfocan en los KPI en tiempo real, como los tiempos de procesamiento y el uso de recursos. Las políticas proporcionadas por Google tienen el prefijo Default Policy: para su identificación, aunque el servicio usa etiquetas como identificador principal.

Los clientes se inscriben automáticamente en todas las políticas del conjunto de políticas predeterminadas. Si es necesario, puedes inhabilitar políticas predeterminadas específicas en las alertas de Cloud Monitoring.

Nombre de la política Métrica base Umbral predeterminado Razones
Default Policy: Estimated Backlog job/estimated_backlog_processing_time 30 minutos Estima el tiempo necesario para borrar las tareas pendientes actuales. Las tareas pendientes de más de 30 minutos indican que el trabajo tiene dificultades para avanzar.
Default Policy: vCPU Growth Policy job/current_num_vcpus Aumento superior a 5 veces en el uso promedio de CPU virtual de 1 hora en comparación con un promedio de 7 días Supervisa los cambios relativos en los recuentos de CPU virtual para ayudar a medir los costos inesperados del trabajo.

Ciclo de vida de la política

  • Políticas en versión beta: Estas políticas tienen un prefijo BETA en su nombre y están sujetas a cambios o eliminación a medida que se refinan los umbrales.
  • Políticas de GA: Una vez que se considera estable una política, se quita el prefijo BETA.

Personaliza y administra alertas

Las alertas llave en mano sirven como punto de partida. Te recomendamos que las personalices para que se adapten a tus requisitos empresariales específicos.

  1. En la Google Cloud consola, ve a Cloud Monitoring > Alertas.
  2. Busca la política (por ejemplo, Default Policy: Estimated Backlog).
  3. Edita el umbral con el valor que prefieras.

Crea políticas personalizadas

Puedes agregar cualquier política de alertas de Cloud Monitoring a tu conjunto de alertas llave en mano agregándole la etiqueta goog-turnkey-alerts. Esto te permite administrar reglas personalizadas específicas de la empresa junto con el conjunto predeterminado.

Inhabilita o borra las políticas de alertas

Puedes inhabilitar o borrar políticas predeterminadas específicas con Monitoring. Cuando inhabilitas una política, Monitoring deja de evaluar la condición de la política y no se crean incidentes nuevos, pero se conserva la configuración de la política. Si borras una política, se quitará de tu proyecto de forma definitiva. Para obtener más información sobre la administración de los ciclos de vida de las políticas, consulta Administra políticas de alertas y Políticas de alertas inhabilitadas.

Soluciona problemas

Problema Solución
PERMISSION_DENIED Asegúrate de que la P4SA de Dataflow tenga los permisos monitoring.alertPolicies.* necesarios que se enumeran en Requisitos previos. Si la P4SA no tiene estos roles, tu canalización se iniciará correctamente, pero aparecerá un error PERMISSION_DENIED en el resultado de la línea de comandos y en los registros de trabajos que indican que no se pudieron crear las alertas predeterminadas.
No se recibieron alertas Para determinar si se cumplió la condición de alerta, busca incidentes. Puedes ver los activadores de alertas y las líneas de tiempo de incidentes en Monitoring (consulta Visualiza incidentes y eventos).
Políticas duplicadas Por lo general, esto sucede si varias políticas comparten la etiqueta goog-turnkey-alerts y la misma configuración de métricas. Dataflow busca etiquetas y métricas superpuestas en lugar de coincidencias exactas de nombres. Revisa tus políticas y quita la etiqueta de las configuraciones redundantes.