Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Esta tabela do sistema está em Visualização Pública.
Esta página inclui informações sobre as tabelas do sistema de alertas, incluindo um esboço do esquema de cada tabela. Use essas tabelas para consultar seus alertas de espaço de trabalho e seu histórico de avaliação diretamente em SQL, para que você possa auditar definições de alertas, analisar tendências de avaliação e monitorar cargas de trabalho de alertas em escala.
O system.alert esquema contém duas tabelas:
-
system.alert.alerts: A configuração de cada alerta, incluindo sua definição, cronograma, limiares de avaliação, assinantes e carimbos de tempo do ciclo de vida. -
system.alert.alert_evaluation_history: Uma linha por avaliação de alerta, capturando o estado avaliado, valores dos resultados, status de entrega da notificação e detalhes do erro.
Requirements
Por padrão, apenas usuários com os papéis de administrador de conta e administrador da metastore têm acesso às tabelas do sistema de alertas. Para compartilhar os dados de uma tabela com um usuário ou grupo, o Databricks recomenda criar uma visualização dinâmica para cada usuário ou grupo. Confira Criar uma exibição dinâmica.
Esquema da tabela de configuração de alertas
A system.alert.alerts tabela é uma tabela de dimensões que muda lentamente. Cada linha captura a configuração de um alerta em um momento específico, então um único alerta tem várias linhas quando sua configuração muda.
Localização da tabela: Esta tabela do sistema está localizada em system.alert.alerts.
A system.alert.alerts tabela usa o seguinte esquema:
| Nome da Coluna | Tipo de dados | Description | Example |
|---|---|---|---|
account_id |
cadeia | O ID da conta. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
cadeia | O ID do espaço de trabalho onde o alerta está definido. | 1234567890123456 |
alert_id |
cadeia | A ID do alerta. | 2762099691916865 |
display_name |
cadeia | O nome a apresentar do alerta. | Test Alert |
owned_by |
cadeia | O nome de usuário do dono do alerta. Defina para Unavailable se o usuário tiver sido excluído. |
example@databricks.com |
compute |
struct | Uma estrutura que representa o recurso de computação associado ao alerta. O type valor é ou WAREHOUSE .SERVERLESS_COMPUTE |
{type: WAREHOUSE,cluster_id: NULL,warehouse_id: 802f6d5283291c0d} |
run_as |
cadeia | O ID do usuário ou principal do serviço cujas credenciais são usadas para executar o alerta. | 2967555311742259 |
schedule |
struct | Uma estrutura que representa a programação do alerta, incluindo seu status de pausa, cron schedule e fuso horário. | {pause_status: UNPAUSED,quartz_cron_schedule: 0 0 10 * * ?,timezone_id: UTC} |
evaluation_source |
struct | Uma estrutura que representa a coluna de origem do resultado da consulta usada para avaliar o alerta, incluindo a agregação aplicada a ele. | {aggregation: SUM,display: x,name: x} |
evaluation_comparison_operator |
cadeia | O operador era usado para comparar o valor da fonte com o limiar durante a avaliação. Por exemplo: GREATER_THAN, LESS_THAN e EQUAL. |
LESS_THAN |
evaluation_threshold |
struct | Uma estrutura que representa o limiar contra o qual o valor fonte é comparado. O limiar é ou um valor estático ou outra coluna. | {value: { double_value: 1.25}} |
evaluation_empty_result_state |
cadeia | O estado que o alerta reporta quando a consulta retorna um resultado vazio. Os valores possíveis são OK, TRIGGERED e ERROR. |
OK |
notify_on_ok |
boolean | Se deve notificar os assinantes quando o alerta retornar ao OK estado. |
true |
retrigger_seconds |
int | O número de segundos que o alerta espera após ser acionado antes de poder disparar novamente. Se 0, o alerta não é disparado novamente. |
0 |
subscriptions |
matriz | Uma variedade dos assinantes que recebem a notificação de alerta. Cada assinante é identificado por um e-mail de usuário ou por um ID de destino de notificação. | [{ user_email: example@databricks.com, destination_id: null}] |
change_time |
carimbo de data/hora | O horário em que a configuração foi alterada pela última vez. As informações sobre fusos horários são registradas no final do valor, representando +00:00 o UTC. |
2023-01-01T01:01:01.123+00:00 |
create_time |
carimbo de data/hora | O horário em que o alerta foi criado. As informações sobre fusos horários são registradas no final do valor, representando +00:00 o UTC. |
2023-01-01T01:01:01.123+00:00 |
delete_time |
carimbo de data/hora | O momento em que o alerta foi deletado permanentemente. Alertas movidos para o lixo não são registrados. As informações sobre fusos horários são registradas no final do valor, representando +00:00 o UTC. |
2023-01-01T01:01:01.123+00:00 |
Esquema da tabela de histórico de avaliação de alertas
A system.alert.alert_evaluation_history tabela registra uma linha para cada avaliação de alerta, capturando o estado avaliado e estatísticas relacionadas.
Localização da tabela: Esta tabela do sistema está localizada em system.alert.alert_evaluation_history.
A system.alert.alert_evaluation_history tabela usa o seguinte esquema:
| Nome da Coluna | Tipo de dados | Description | Example |
|---|---|---|---|
account_id |
cadeia | O ID da conta. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
cadeia | O ID do espaço de trabalho onde o alerta está definido. | 1234567890123456 |
alert_id |
cadeia | O ID do alerta avaliado. Junta-se a alert_id em system.alert.alerts. |
2762099691916865 |
job_id |
cadeia | O ID do trabalho que rodou o alerta. Junta-se a job_id em system.lakeflow.jobs.
NULL quando o alerta roda em um cronograma próprio em vez de como parte de um trabalho. Use um LEFT JOIN quando você consultar contra system.lakeflow.jobs. |
906851285941474 |
task_key |
cadeia | A chave de referência para a tarefa dentro do trabalho. Junta-se a task_key em system.lakeflow.job_tasks.
NULL quando o alerta roda em um cronograma próprio em vez de como parte de um trabalho. Use um LEFT JOIN quando você consultar contra system.lakeflow.job_tasks. |
evaluate_alert |
alert_run_id |
cadeia | O ID da avaliação do alerta executa. | 4104302562320643 |
evaluated_state |
cadeia | O estado avaliado do alerta. Os valores possíveis são OK, TRIGGERED e ERROR. |
TRIGGERED |
evaluated_source_result |
struct | Uma estrutura que representa o valor fonte produzido pela avaliação. | {double_value: 1.25} |
evaluated_threshold_result |
struct | Uma estrutura que representa o valor limiar da avaliação, ou o valor estático definido na configuração do alerta. | {double_value: 1.25} |
error_code |
cadeia | O código de erro se a avaliação falhasse com um erro. | INTERNAL_ERROR |
error_message |
cadeia | A mensagem de erro visível ao usuário se a avaliação falhou, com um erro. | Query execution failed |
notified_subscriptions |
matriz | Uma variedade dos assinantes que foram notificados com sucesso. Cada assinante é identificado por um e-mail de usuário ou por um ID de destino de notificação. | [{ user_email: example@databricks.com, destination_id: null}] |
failed_subscriptions |
matriz | Uma série de assinantes cujas notificações não foram enviadas. Cada assinante é identificado por um e-mail de usuário ou por um ID de destino de notificação. | [{ user_email: example@databricks.com, destination_id: null}] |
start_time |
carimbo de data/hora | O horário em que a avaliação começou. As informações sobre fusos horários são registradas no final do valor, representando +00:00 o UTC. |
2023-01-01T01:01:01.123+00:00 |
end_time |
carimbo de data/hora | O horário em que a avaliação terminou. As informações sobre fusos horários são registradas no final do valor, representando +00:00 o UTC. |
2023-01-01T01:01:01.123+00:00 |
Exemplos de consultas
As consultas de exemplo a seguir mostram formas comuns de analisar o histórico de configuração e avaliação de alertas. Cada consulta usa marcadores de parâmetros nomeados para os IDs de alerta e workspace, então você é solicitado pelos valores ao executar a consulta.
Encontre a avaliação mais recente para um alerta
Essa consulta retorna a configuração mais recente de um alerta específico junto com sua avaliação mais recente.
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;
Encontre quais alertas foram mais acionados nos últimos sete dias
Essa consulta conta quantas vezes cada alerta foi acionado em um espaço de trabalho nos últimos sete dias.
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;
Acompanhe como o estado de um alerta mudou ao longo do tempo
Esta consulta resume a contagem diária de cada estado avaliado para um alerta específico nos últimos 30 dias. Use isso para construir um painel que monitore a confiabilidade dos 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;
Liste alertas ativos em um espaço de trabalho
Essa consulta retorna a configuração mais recente de cada alerta que não é deletada nem pausada em um espaço de trabalho.
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';