¿Qué son las alertas de Databricks SQL?
Las alertas de Databricks SQL ejecutan consultas periódicamente, evalúan condiciones definidas y envían notificaciones si se cumple una condición. Puede configurar alertas para supervisar el negocio y enviar notificaciones cuando los datos notificados queden fuera de los límites esperados. La programación de una alerta ejecuta su consulta subyacente y comprueba los criterios de alerta. Esto es independiente de cualquier programación que pueda existir en la consulta subyacente.
Importante
- Las alertas que aprovechan las consultas con parámetros usan el valor predeterminado especificado en el editor SQL para cada parámetro.
Visualización y organización de alertas
Use una de las siguientes opciones para acceder a las alertas:
- Haga clic en el área de trabajo de la barra lateral para ver las alertas de la carpeta Inicio, donde se almacenan de manera predeterminada. Los usuarios pueden organizar alertas en carpetas en el explorador del área de trabajo junto con otros objetos de Databricks.
- Haga clic en Alertas en la barra lateral para ver la página de lista de alertas.
Los objetos se organizan en orden cronológico inverso de manera predeterminada. Para volver a ordenar la lista, haga clic en los encabezados de columna. Haga clic en la pestaña Todas las alertas cerca de la parte superior de la pantalla para ver todas las alertas del área de trabajo. Haga clic en la pestañaMis alertas para ver las alertas en las que es el propietario.
- Nombre muestra el nombre de la cadena de cada alerta.
- Estado muestra si el estado de la alerta es
TRIGGERED
,OK
oUNKNOWN
. - Última actualización muestra la fecha o la hora de la última actualización.
- Creado en muestra la fecha y hora en que se creó la alerta.
TRIGGERED
significa que en la ejecución más reciente, la columna Valor de la consulta de destino cumplió los valores que configuró en Condición y Umbral. Si la alerta comprueba si el valor "cats" es superior a 1500, la alerta se desencadenará siempre que "cats" esté por encima de 1500.OK
significa que en la ejecución de la consulta más reciente, la columna Valor no cumplió los valores que configuró en Condición y Umbral. Esto no significa que la alerta no se haya desencadenado previamente. Si el valor de "cats" es ahora 1470, la alerta se mostrará comoOK
.UNKNOWN
significa que Databricks SQL no tiene suficientes datos para evaluar los criterios de alerta. Este estado se verá inmediatamente después de crear la alerta y no desaparecerá hasta que la consulta se haya ejecutado. Este estado también se verá si no hay ningún dato en el resultado de la consulta o si el resultado de la consulta más reciente no incluye la columna Valor que configuró.
Creación de una alerta
Siga estos pasos para crear una alerta en una columna de una consulta.
Realice una de las siguientes acciones:
- Haga clic en Nueva en la barra lateral y seleccione Alerta.
- Haga clic en Alertas en la barra lateral y haga clic en el botón + Nueva alerta.
- Haga clic en Área de trabajo en la barra lateral y haga clic en + Crear alerta.
- Haga clic en el menú kebab en la esquina superior derecha de una consulta guardada y haga clic en + Crear alerta.
En el campo Consulta, busque una consulta de destino.
Para alertar sobre varias columnas, debe modificar la consulta. Consulte Agregaciones de alertas
En el campo Condición de desencadenador, configure la alerta.
La lista desplegable Columna de valor controla qué campo del resultado de la consulta se evalúa. Las condiciones de alerta pueden establecerse sobre el primer valor de una columna en el resultado de la consulta, o puede optar por establecer una agregación a través de todas las filas de una única columna, como SUM o AVERAGE.
El menú desplegable Operador controla la operación lógica que se aplicará.
La entrada de texto Valor umbral se compara con la columna Valor mediante la Condición que especifique.
Haga clic en Versión preliminar de la alerta para previsualizar la alerta y comprobar si se activaría con los datos actuales.
En el campo Enviar notificación cuando se active, seleccione cuántas notificaciones se envían cuando se desencadena una alerta:
- Just once (Solo una vez): envíe una notificación cuando el estado de la alerta cambie de
OK
aTRIGGERED
. - Each time alert is evaluated (Cada vez que se evalúa la alerta): envíe una notificación cada vez que el estado de la alerta sea
TRIGGERED
, independientemente de su estado en la evaluación anterior. - At most every: (Como máximo cada): envíe una notificación cada vez que el estado de la alerta sea
TRIGGERED
en un intervalo específico. Esta opción le permite evitar el correo no deseado de notificación en alertas que se desencadenan con frecuencia.
Independientemente de la configuración de notificación que elija, recibirá una notificación cada vez que el estado pase de
OK
aTRIGGERED
o deTRIGGERED
aOK
. La configuración de la programación afecta al número de notificaciones que recibirá si el estado esTRIGGERED
tanto en una ejecución como en la siguiente. Para más información, consulte Frecuencia de notificación.- Just once (Solo una vez): envíe una notificación cuando el estado de la alerta cambie de
En la lista desplegable Plantilla, elija una plantilla:
- Use default template (Usar plantilla predeterminada): la notificación de alerta es un mensaje con vínculos a la pantalla Configuración de alertas y a la pantalla Consulta.
- Usar la plantilla personalizada: la notificación de alerta incluye información más específica sobre la alerta.
Se muestra un cuadro que consta de campos de entrada para el asunto y el cuerpo. Cualquier contenido estático es válido y puede incorporar variables de plantilla integradas:
ALERT_STATUS
: estado de alerta evaluado (cadena).ALERT_CONDITION
: operador de condición de alerta (cadena).ALERT_THRESHOLD
: umbral de alerta (cadena o número).ALERT_COLUMN
: nombre de columna de alerta (cadena).ALERT_NAME
: nombre de la alerta (cadena).ALERT_URL
: dirección URL de página de alerta (cadena).QUERY_NAME
: nombre de consulta asociado (cadena).QUERY_URL
: dirección URL de página de consulta asociada (cadena).QUERY_RESULT_TABLE
: la tabla HTML del resultado de la consulta (cadena).QUERY_RESULT_VALUE
: valor del resultado de la consulta (cadena o número).QUERY_RESULT_ROWS
: filas de resultados de la consulta (matriz de valores).QUERY_RESULT_COLS
: columnas de resultados de la consulta (matriz de valores).
Un asunto de ejemplo, por ejemplo, podría ser:
Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}}
.Puede usar HTML para dar formato a los mensajes en una plantilla personalizada. En las plantillas se permiten las siguientes etiquetas y atributos:
- Etiquetas
<a>
,<abbr>
,<acronym>
,<b>
,<blockquote>
,<body>
,<br>
,<code>
,<div>
,<em>
,<h1>
,<h2>
,<h3>
,<h4>
,<h5
>,<h6
>,<head
>,<hr>
,<html>
,<i>
,<li>
,<ol>
,<p>
,<span>
,<strong>
,<table>
,<tbody>
,<td>
,<th>
,<tr>
,<ul>
- Atributos: href (para
<a>
), title (para<a>
,<abbr>
,<acronym>
)
- Etiquetas
Haga clic en el botón de alternancia Vista previa para obtener una vista previa del resultado representado.
Importante
La vista previa es útil para comprobar que las variables de plantilla se representan correctamente. No es una representación precisa del contenido de la notificación final, ya que cada destino de notificación puede mostrar las notificaciones de forma diferente.
Haga clic en el botón Guardar cambios.
Haga clic en Crear alerta.
Haga clic en Agregar programación.
- Use los selectores desplegables para especificar la frecuencia, el período, la hora de inicio y la zona horaria. Opcionalmente, active la casilla Mostrar sintaxis de cron para editar la programación en Sintaxis Quartz de cron.
- Elija Más opciones para mostrar la configuración opcional. También puede elegir:
- Un nombre de la programación.
- Un almacén de SQL para impulsar la consulta. De manera predeterminada, el almacén de SQL que se usa para la ejecución de consultas ad hoc también se usa para un trabajo programado. Use esta configuración opcional para seleccionar otro almacén para ejecutar la consulta programada.
Haga clic en la pestaña Destinos del cuadro de diálogo Agregar programación.
- Use la lista desplegable para seleccionar un destino de notificación disponible. O bien, empiece a escribir un nombre de usuario para agregar personas.
Importante
Si omite este paso, no recibirá ninguna notificación cuando se desencadene la alerta.
Haga clic en Crear. Los detalles de alerta y notificación guardados aparecen en la pantalla.
Comparta la programación.
- A la derecha de la programación enumerada, elija el menú kebab y seleccione Editar permisos de programación.
- Elija un usuario o grupo en el menú desplegable del cuadro de diálogo.
- Elija los siguientes permisos de programación:
- NO PERMISSIONS: No se han concedido permisos. Los usuarios sin permisos no pueden ver que existe la programación, incluso si son suscriptores o se incluyen en los destinos de notificación enumerados.
- CAN VIEW: Concede permiso para ver los resultados de la ejecución programada.
- CAN MANAGE RUN: Concede permiso para ver los resultados de la ejecución programada.
- CAN MANAGE: Concede permiso para ver, modificar y eliminar programaciones. Este permiso es necesario para realizar cambios en el intervalo de ejecución, actualizar la lista de suscriptores y pausar o desactivar la pausa de la programación.
- PROPIETARIO DE IS: Concede todos los permisos de CAN MANAGE. Además, las credenciales del propietario de la programación se usarán para ejecutar consultas de panel. Solo un administrador del área de trabajo puede cambiar el propietario.
Importante
Los permisos para las alertas y programaciones son independientes. Conceda acceso a usuarios y grupos en la lista de destinos de notificaciones para que puedan ver los resultados de las ejecuciones programadas.
Comparta la alerta.
- Haga clic en cerca de la parte superior derecha de la página.
- Agregue los usuarios o grupos que deben tener acceso a la alerta.
- Elija el nivel de permisos adecuado y, a continuación, haga clic en Agregar.
Importante
CAN MANAGE concede permiso para ver, modificar y eliminar programaciones. Este permiso es necesario para realizar cambios en el intervalo de ejecución, actualizar la lista de destino de notificación y pausar o desactivar la pausa de la programación.
Para más información sobre los niveles de permisos de alerta, consulte ACL de alertas.
Agregaciones de alertas
Una agregación en una alerta funciona mediante la modificación del SQL original de la consulta SQL de Databricks adjunta a la alerta. La alerta envuelve el texto de la consulta original en una expresión de tabla común (CTE) y realiza una consulta de agregación envolvente sobre ella para agregar el resultado de la consulta.
Como ejemplo, una agregación SUM
en una alerta adjunta a una consulta con texto SELECT 1 AS column_name
significa que cada vez que se actualiza la alerta, el SQL modificado que se ejecuta sería: WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q
.
Esto significa que el resultado original de la consulta (pre-agregado) no puede mostrarse en un cuerpo personalizado de alerta (con parámetros como QUERY_RESULT_ROWS
y QUERY_RESULT_COLS
) siempre que haya una agregación en una alerta. En su lugar, esas variables solo mostrarán el resultado final de la consulta después de la agregación.
Nota:
La API no admite todas las condiciones de activación relacionadas con agregaciones.
Alerta en varias columnas
Para establecer una alerta basada en varias columnas de una consulta, la consulta puede implementar la lógica de alerta y devolver un valor booleano para que se desencadene la alerta. Por ejemplo:
SELECT CASE WHEN drafts_count > 10000 AND archived_count > 5000 THEN 1 ELSE 0 END
FROM (
SELECT sum(CASE WHEN is_archived THEN 1 ELSE 0 END) AS archived_count,
sum(CASE WHEN is_draft THEN 1 ELSE 0 END) AS drafts_count
FROM queries) data
Esta consulta devuelve 1
cuando se dé la condición de que drafts_count > 10000 and archived_count > 5000
.
A continuación, puede configurar la alerta para que se desencadene cuando el valor sea 1
.
Frecuencia de notificaciones
Databricks SQL envía notificaciones a los destinos de alerta elegidos cada vez que detecta que el Estado de la alerta ha cambiado de OK
a TRIGGERED
o viceversa.
Fíjese en este ejemplo, en el que se configura una alerta en una consulta que está programada para ejecutarse una vez al día. El estado diario de la alerta aparece en la tabla siguiente.
Antes del lunes, el estado de la alerta era OK
.
Día | Estado de la alerta |
---|---|
Lunes | Aceptar |
Martes | Aceptar |
Miércoles | TRIGGERED |
Jueves | TRIGGERED |
Viernes | TRIGGERED |
Sábado | TRIGGERED |
Domingo | Aceptar |
Si la frecuencia de notificación se establece en Just Once
, Databricks SQL envía una notificación el miércoles, cuando el estado cambia de OK
a TRIGGERED
, y otra el domingo, cuando vuelve a cambiar al estado anterior. No envía alertas los jueves, viernes o sábados, salvo que se configure específicamente para hacerlo, ya que porque el estado de alerta no cambió entre ejecuciones en esos días.
Configuración de permisos de alerta y transferencia de la propiedad de alertas
Debe tener al menos el permiso PUEDE ADMINISTRAR en una consulta para compartir consultas. Para conocer los niveles de permisos de alerta, consulte ACL de alertas.
En la barra lateral, haga clic en Alertas.
Haga clic en una alerta.
Haga clic en el botón de la parte superior derecha para abrir el cuadro de diálogo Uso compartido.
Busque y seleccione los grupos o usuarios, y asigne el nivel de permisos.
Haga clic en Agregar.
Transferencia de la propiedad de una alerta
Al guardar una alerta, se convierte en el propietario de la alerta. Si se quita el propietario de una alerta de una área de trabajo, la alerta deja de tener propietario. Un usuario administrador de área de trabajo puede transferir la propiedad de una alerta a otro usuario. No se puede asignar la propiedad de una alerta a entidades de servicio ni a grupos. También puede transferir la propiedad mediante la API de permisos.
Como administrador del área de trabajo, inicie sesión en tu área de trabajo de Azure Databricks.
En la barra lateral, haga clic en Alertas.
Haga clic en una alerta.
Haga clic en el botón Compartir de la parte superior derecha para abrir el cuadro de diálogo Uso compartido.
Haga clic en el icono de engranaje en la parte superior derecha y haga clic en Asignar nuevo propietario.
Seleccione el usuario al que asignar la propiedad.
Haga clic en Confirmar.