Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede configurar las notificaciones que se enviarán durante las ejecuciones de un trabajo y las tareas individuales de trabajo para los siguientes eventos:
Start
Finalización correcta
Fracaso
La duración supera un umbral configurado.
Una métrica de acumulación de transmisión supera un umbral configurado
Inicio de mantenimiento, para trabajos continuos con una ventana de mantenimiento configurada.
Mantenimiento completado, para trabajos continuos con una ventana de mantenimiento configurada.
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.
Añadir destinos de sistemas de terceros
Puede configurar notificaciones para que se entreguen a sistemas de terceros. Los destinos de sistemas 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. Consulte la página de configuración de administración.
Importante
El contenido de Slack y Microsoft Teams mensajes 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 haya completado en el estado "Cumplido con errores" se considera que se encuentra en un estado satisfactorio. 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. Consulte Configuración de notificaciones para trabajos lentos.
Para añadir o editar notificaciones en un trabajo, necesita el permiso CAN MANAGE o IS OWNER sobre el trabajo. Vea Controlar el acceso a una tarea.
Para agregar una o varias notificaciones cuando se inicia una ejecución de trabajo, se completa o se produce un error, haga lo siguiente:
- En el panel Detalles del trabajo de su trabajo, desplácese hacia abajo hasta la sección Notificaciones del trabajo y, a continuación, haga clic en Editar notificaciones.
- En la esquina inferior izquierda, haga clic en Agregar notificación.
- En Destino, seleccione Dirección de correo electrónico o un destino del sistema.
- 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.
- Para configurar otro destino, haga clic de nuevo en Agregar notificación y siga los pasos anteriores.
- Después de configurar todas las notificaciones, haga clic en Guardar.
Para quitar una notificación, haga clic en Editar notificaciones, haga clic en el Junto a la notificación y, a continuación, 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 sobre un trabajo o una tarea que supere una métrica de acumulación de streaming, seleccione Acumulación de streaming al añadir o editar una notificación.
Lo siguiente se aplica a las métricas de acumulación 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.
- Las notificaciones de la cola de trabajo en streaming no son compatibles con las tareas de pipeline. Consulte Alertas de acumulación de streaming y tareas de canalización.
Nota:
Las notificaciones de acumulación de streaming requieren que el servicio de trabajos pueda realizar un seguimiento de la consulta de streaming activa. No use awaitTermination() en trabajos. Consulte Cuándo usar awaitTermination().
Excluir 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, puede 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 filtra las notificaciones configuradas para las tareas de 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 webhooks 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ían cuando se inicia una ejecución. |
jobs.on_success |
Se envían cuando una ejecución se detiene y finaliza con el estado "correcta" o "correcta con errores". |
jobs.on_failure |
Se envían cuando una ejecución se detiene con el estado "fallida". |
jobs.on_duration_warning_threshold_exceeded |
Se envía cuando una ejecución supera el umbral de duración configurado. |
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 de un evento de inicio de ejecución de tarea:
{
"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"
}
}