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.
Importante
Esta tabla del sistema está en versión preliminar pública.
Esta página incluye información sobre las tablas del sistema de alertas, incluyendo un esquema del esquema de cada tabla. Utiliza estas tablas para consultar las alertas de tu espacio de trabajo y su historial de evaluación directamente en SQL, de modo que puedas auditar definiciones de alertas, analizar tendencias de evaluación y monitorizar cargas de trabajo de alertas a gran escala.
El system.alert esquema contiene dos tablas:
-
system.alert.alerts: La configuración de cada alerta, incluyendo su definición, calendario, umbrales de evaluación, suscriptores y marcas temporales del ciclo de vida. -
system.alert.alert_evaluation_history: Una fila por evaluación de alerta, capturando el estado evaluado, los valores de los resultados, el estado de entrega de notificaciones y los detalles del error.
Requirements
Por defecto, solo los usuarios con los roles de administrador de cuenta y administrador de metastore tienen acceso a las tablas del sistema de alertas. Para compartir los datos de una tabla con un usuario o grupo, Databricks recomienda crear una vista dinámica para cada usuario o grupo. Consulte Creación de una vista dinámica.
Esquema de la tabla de configuración de alertas
La system.alert.alerts tabla es una tabla de dimensiones que cambia lentamente. Cada fila captura la configuración de una alerta en un momento dado, por lo que una sola alerta tiene varias filas cuando su configuración cambia.
Ruta de la tabla: esta tabla del sistema se encuentra en system.alert.alerts.
La system.alert.alerts tabla usa el esquema siguiente:
| Nombre de la columna | Tipo de dato | Descripción | Ejemplo |
|---|---|---|---|
account_id |
string | Id. de la cuenta. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | El ID del espacio de trabajo donde se define la alerta. | 1234567890123456 |
alert_id |
string | Identificador de la alerta. | 2762099691916865 |
display_name |
string | Nombre para mostrar de la alerta. | Test Alert |
owned_by |
string | El nombre de usuario del propietario de la alerta. Configura en Unavailable si el usuario ha sido eliminado. |
example@databricks.com |
compute |
estructura | Una estructura que representa el recurso de cómputo asociado a la alerta. El type valor es o bien WAREHOUSE o SERVERLESS_COMPUTEbien . |
{type: WAREHOUSE,cluster_id: NULL,warehouse_id: 802f6d5283291c0d} |
run_as |
string | El ID del usuario o principal del servicio cuyas credenciales se utilizan para ejecutar la alerta. | 2967555311742259 |
schedule |
estructura | Una estructura que representa el horario de la alerta, incluyendo su estado de pausa, horario cron y zona horaria. | {pause_status: UNPAUSED,quartz_cron_schedule: 0 0 10 * * ?,timezone_id: UTC} |
evaluation_source |
estructura | Una estructura que representa la columna fuente del resultado de la consulta utilizada para evaluar la alerta, incluyendo la agregación aplicada a ella. | {aggregation: SUM,display: x,name: x} |
evaluation_comparison_operator |
string | El operador solía comparar el valor fuente con el umbral durante la evaluación. Por ejemplo, GREATER_THAN, LESS_THAN y EQUAL. |
LESS_THAN |
evaluation_threshold |
estructura | Una estructura que representa el umbral con el que se compara el valor fuente. El umbral es o bien un valor estático o bien otra columna. | {value: { double_value: 1.25}} |
evaluation_empty_result_state |
string | El estado que la alerta informa cuando la consulta devuelve un resultado vacío. Los valores posibles son OK, TRIGGERED y ERROR. |
OK |
notify_on_ok |
booleano | Si notificar a los suscriptores cuando la alerta regrese al OK estado. |
true |
retrigger_seconds |
int | El número de segundos que la alerta espera después de activarse antes de poder activarse de nuevo. Si 0, la alerta no vuelve a activarse. |
0 |
subscriptions |
array | Un conjunto de suscriptores que reciben la notificación de alerta. Cada suscriptor es identificado por un correo electrónico de usuario o un ID de destino de notificación. | [{ user_email: example@databricks.com, destination_id: null}] |
change_time |
timestamp | La última vez que cambió la configuración. La información de la zona horaria se registra al final del valor representando +00:00 el UTC. |
2023-01-01T01:01:01.123+00:00 |
create_time |
timestamp | La hora en que se creó la alerta. La información de la zona horaria se registra al final del valor representando +00:00 el UTC. |
2023-01-01T01:01:01.123+00:00 |
delete_time |
timestamp | La hora en que la alerta fue eliminada permanentemente. Las alertas trasladadas a la papelera no se registran. La información de la zona horaria se registra al final del valor representando +00:00 el UTC. |
2023-01-01T01:01:01.123+00:00 |
Esquema de la tabla de historial de evaluación de alertas
La system.alert.alert_evaluation_history tabla registra una fila para cada evaluación de alerta, capturando el estado evaluado y las estadísticas relacionadas.
Ruta de la tabla: esta tabla del sistema se encuentra en system.alert.alert_evaluation_history.
La system.alert.alert_evaluation_history tabla usa el esquema siguiente:
| Nombre de la columna | Tipo de dato | Descripción | Ejemplo |
|---|---|---|---|
account_id |
string | Id. de la cuenta. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | El ID del espacio de trabajo donde se define la alerta. | 1234567890123456 |
alert_id |
string | El ID de la alerta evaluada. Se une a alert_id en system.alert.alerts. |
2762099691916865 |
job_id |
string | El ID del trabajo que ejecutó la alerta. Se une a job_id en system.lakeflow.jobs.
NULL cuando la alerta se ejecuta en su propio horario en lugar de como parte de un trabajo. Usa un LEFT JOIN cuando consultas contra system.lakeflow.jobs. |
906851285941474 |
task_key |
string | La clave de referencia para la tarea dentro del puesto. Se une a task_key en system.lakeflow.job_tasks.
NULL cuando la alerta se ejecuta en su propio horario en lugar de como parte de un trabajo. Usa un LEFT JOIN cuando consultas contra system.lakeflow.job_tasks. |
evaluate_alert |
alert_run_id |
string | El ID de la evaluación de alerta ejecuta. | 4104302562320643 |
evaluated_state |
string | El estado evaluado de la alerta. Los valores posibles son OK, TRIGGERED y ERROR. |
TRIGGERED |
evaluated_source_result |
estructura | Una estructura que representa el valor fuente producido por la evaluación. | {double_value: 1.25} |
evaluated_threshold_result |
estructura | Una estructura que representa el valor umbral de la evaluación, o el valor estático establecido en la configuración de alerta. | {double_value: 1.25} |
error_code |
string | El código de error si la evaluación falló con un error. | INTERNAL_ERROR |
error_message |
string | El mensaje de error visible para el usuario si la evaluación falló con un error. | Query execution failed |
notified_subscriptions |
array | Una serie de suscriptores que fueron notificados con éxito. Cada suscriptor es identificado por un correo electrónico de usuario o un ID de destino de notificación. | [{ user_email: example@databricks.com, destination_id: null}] |
failed_subscriptions |
array | Una serie de suscriptores cuyas notificaciones no se enviaron. Cada suscriptor es identificado por un correo electrónico de usuario o un ID de destino de notificación. | [{ user_email: example@databricks.com, destination_id: null}] |
start_time |
timestamp | La hora en que empezó la evaluación. La información de la zona horaria se registra al final del valor representando +00:00 el UTC. |
2023-01-01T01:01:01.123+00:00 |
end_time |
timestamp | La hora en que terminó la evaluación. La información de la zona horaria se registra al final del valor representando +00:00 el UTC. |
2023-01-01T01:01:01.123+00:00 |
Consultas de ejemplo
Las siguientes consultas de ejemplo muestran formas comunes de analizar el historial de configuración y evaluación de alertas. Cada consulta utiliza marcadores de parámetros nombrados para los IDs de alerta y espacio de trabajo, así que se te piden los valores cuando ejecutas la consulta.
Encuentra la evaluación más reciente para una alerta
Esta consulta devuelve la configuración más reciente de una alerta específica junto con su evaluación más reciente.
SELECT
c.alert_id,
c.display_name,
c.compute,
c.schedule.quartz_cron_schedule AS schedule,
c.evaluation_comparison_operator AS operator,
c.evaluation_threshold.value.double_value AS threshold,
c.change_time AS config_last_updated,
e.evaluated_state,
e.start_time AS evaluation_time,
e.end_time,
TIMESTAMPDIFF(SECOND, e.start_time, e.end_time) AS eval_duration_seconds
FROM (
SELECT *
FROM system.alert.alerts
WHERE alert_id = :your_alert_id
AND delete_time IS NULL
ORDER BY change_time DESC
LIMIT 1
) c
LEFT JOIN (
SELECT *
FROM system.alert.alert_evaluation_history
WHERE alert_id = :your_alert_id
ORDER BY start_time DESC
LIMIT 1
) e ON TRUE;
Averigua qué alertas se han activado más en los últimos siete días
Esta consulta cuenta cuántas veces se ha activado cada alerta en un espacio de trabajo durante los últimos siete días.
SELECT
alert_id,
COUNT(*) AS trigger_count_7d
FROM system.alert.alert_evaluation_history
WHERE workspace_id = :your_workspace_id
AND start_time >= CURRENT_DATE() - INTERVAL 7 DAY
AND evaluated_state = 'TRIGGERED'
GROUP BY alert_id
ORDER BY trigger_count_7d DESC;
Haz un seguimiento de cómo cambió el estado de una alerta a lo largo del tiempo
Esta consulta resume el recuento diario de cada estado evaluado para una alerta específica durante los últimos 30 días. Úsalo para crear un panel de control que supervise la fiabilidad de las alertas.
SELECT
DATE_TRUNC('day', start_time) AS eval_day,
COUNT_IF(evaluated_state = 'OK') AS ok_count,
COUNT_IF(evaluated_state = 'TRIGGERED') AS triggered_count,
COUNT_IF(evaluated_state = 'ERROR') AS error_count
FROM system.alert.alert_evaluation_history
WHERE alert_id = :your_alert_id
AND start_time >= CURRENT_DATE() - INTERVAL 30 DAY
GROUP BY 1
ORDER BY eval_day ASC;
Lista alertas activas en un espacio de trabajo
Esta consulta devuelve la última configuración de cada alerta que no se elimina ni se pausa en un espacio de trabajo.
WITH latest AS (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY alert_id ORDER BY change_time DESC) AS rn
FROM system.alert.alerts
WHERE workspace_id = :your_workspace_id
AND delete_time IS NULL
)
SELECT
alert_id,
display_name,
compute,
schedule.quartz_cron_schedule AS cron_schedule,
schedule.pause_status
FROM latest
WHERE rn = 1
AND schedule.pause_status != 'PAUSED';