Compartir a través de


Adición de notificaciones en un trabajo

Puede configurar las notificaciones que se enviarán durante las ejecuciones de un trabajo y las tareas individuales de trabajo para los siguientes eventos:

  • Inicio
  • Finalización correcta
  • Fracaso
  • La duración supera un umbral configurado.

Puede enviar notificaciones a una o varias direcciones de correo electrónico o destinos de terceros, como Slack, Microsoft Teams, PagerDuty o cualquier servicio basado en webhook. En este artículo se describen las distintas formas en que puede configurar las notificaciones de nivel de trabajo.

Incorporación de destinos del sistema de terceros

Puede configurar notificaciones para que se entreguen a sistemas de terceros. Los destinos del sistema de terceros se integran con herramientas de notificación populares, como Slack, PagerDuty, Microsoft Teams y webhooks HTTP. Un administrador debe configurar destinos del sistema.

Para configurar destinos del sistema, vaya a la página de configuración del administrador, haga clic en Editar notificaciones del sistema y, a continuación, haga clic en Crear nuevo destino. Para cada trabajo o tarea, puede configurar un máximo de tres destinos del sistema para cada tipo de evento de notificación. Consulta la página de configuración del administrador.

Importante

El contenido de los mensajes de Slack y Microsoft Teams podría cambiar en futuras versiones. No se deben implementar clientes o procesamientos que dependan del contenido o formato específicos de estos mensajes. Si necesita un esquema o formato específicos para las notificaciones, Databricks recomienda configurar un webhook definido por el usuario.

Configurar notificaciones en un trabajo

Antes de empezar, tenga en cuenta lo siguiente:

  • Las notificaciones de nivel de trabajo no se envían cuando se reintentan las tareas con errores. Para recibir una notificación de error después de cada tarea con errores, use notificaciones de tareas en su lugar. Para agregar notificaciones para las ejecuciones de tareas, haga clic en Agregar junto a Notificaciones en el panel de tareas al agregar o editar una tarea de trabajo.
  • Para cada trabajo o tarea, puede configurar un máximo de tres destinos del sistema para cada tipo de evento de notificación.
  • Un trabajo que se ha completado en un estado Correcto con errores se considera que está en un estado correcto. Para recibir una notificación cuando se hayan completado los trabajos en este estado, debe seleccionar Correcto al configurar las notificaciones.
  • Para recibir una notificación cuando el trabajo supere un límite de duración, debe establecer el límite.

Para agregar una o varias notificaciones cuando se inicia una ejecución de trabajo, se completa o se produce un error, haga lo siguiente:

  1. En el panel Detalles del trabajo, desplázate hacia abajo hasta la sección Notificaciones de trabajo y, después, haz clic en Editar notificaciones.
  2. En la esquina inferior izquierda, haga clic en Agregar notificación.
  3. En Destino, selecciona Dirección de correo electrónico o un destino del sistema.
  4. Seleccione las casillas de cada tipo de evento sobre el que desea recibir notificaciones: Iniciar, Éxito, Error, Advertencia de duración, o Pendiente de transmisión.
  5. Para configurar otro destino, haga clic de nuevo en Agregar notificación y siga los pasos anteriores.
  6. Después de configurar todas las notificaciones, haga clic en Guardar.

Configurar notificaciones para trabajos lentos

Si ha configurado una duración esperada para un trabajo, puede agregar un correo electrónico o una notificación del sistema si el trabajo o la tarea supera el umbral configurado. Para recibir una notificación de un trabajo o tarea que supere un umbral de duración, seleccione Advertencia de duración al agregar o editar una notificación. Para recibir una notificación de un trabajo o tarea que supere una métrica de trabajo pendiente de streaming, selecciona Trabajo pendiente de streaming al agregar o editar una notificación.

Lo siguiente se aplica a las métricas de trabajo pendiente de streaming:

  • Las notificaciones se envían cuando el trabajo pendiente medio durante un período de 10 minutos supera el umbral definido.
  • Para evitar mensajes excesivos, Azure Databricks espera 30 minutos antes de determinar si se debe enviar otro mensaje. Aunque el trabajo pendiente sigue siendo alto, recibirá actualizaciones a intervalos de 30 minutos.

Filtrar las notificaciones de ejecuciones omitidas o canceladas

Puede reducir el número de notificaciones enviadas filtrando las notificaciones cuando se omite o cancela una ejecución. Para filtrar las notificaciones, seleccione Silenciar notificaciones para ejecuciones omitidas o Silenciar notificaciones para ejecuciones canceladas al agregar o modificar notificaciones por correo electrónico o notificaciones del sistema.

De forma predeterminada, las tareas se reintentan tres veces antes de fallar por completo. Al configurar las notificaciones de tareas, puedes seleccionar Silenciar notificaciones hasta el último reintento para filtrar todas las notificaciones hasta el último reintento.

Nota:

Al seleccionar silenciar notificaciones para ejecuciones omitidas o silenciar notificaciones para ejecuciones canceladas para un trabajo, no excluye las notificaciones configuradas para las tareas del trabajo. Para filtrar todas las notificaciones de ejecuciones omitidas o canceladas, también debe filtrar las notificaciones de nivel de tarea que haya configurado.

Cargas útiles de webhook de HTTP

Puede configurar webhooks HTTP para que se envíen en los eventos enumerados en la tabla siguiente.

código de tipo de evento ¿Cuándo se envía?
jobs.on_start Se envía cuando se inicia una ejecución.
jobs.on_success Se envía cuando una ejecución se detiene y se completa en un estado correcto o correcto con errores.
jobs.on_failure Se envía cuando una ejecución se detienen en un estado incorrecto.
jobs.on_duration_warning_threshold_exceeded Se envía cuando se ha ejecutado una ejecución durante más de la duración prevista configurada.

A continuación se muestran las cargas de ejemplo enviadas por Azure Databricks al punto de conexión configurado. Estos webhooks se pueden aplicar a empleos o tareas.

Notificación para un evento de inicio de ejecución de trabajo:

{
  "event_type": "jobs.on_start",
  "workspace_id": "your_workspace_id",
  "run": {
    "run_id": "run_id"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}

Notificación para un evento de inicio de ejecución de tarea:

{
  "event_type": "jobs.on_start",
  "workspace_id": "your_workspace_id",
  "task": {
    "task_key": "task_name"
  },
  "run": {
    "run_id": "run_id_of_task"
    "parent_run_id": "run_id_of_parent_job_run"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}

Notificación de un error de ejecución de trabajo:

{
  "event_type": "jobs.on_failure",
  "workspace_id": "your_workspace_id",
  "run": {
    "run_id": "run_id"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}

Notificación de que una tarea se ejecuta correctamente:

{
  "event_type": "jobs.on_success",
  "workspace_id": "your_workspace_id",
  "task": {
    "task_key": "task_name"
  },
  "run": {
    "run_id": "run_id_of_task"
    "parent_run_id": "run_id_of_parent_job_run"
  },
  "job": {
    "job_id": "job_id",
    "name": "job_name"
  }
}