Reference na tabulky systémů upozornění

Important

Tato systémová tabulka je ve verzi Public Preview.

Tato stránka obsahuje informace o tabulkách systému upozornění, včetně osnovy schématu každé tabulky. Použijte tyto tabulky k dotazování upozornění na pracovní prostředí a jejich historii hodnocení přímo v SQL, abyste mohli auditovat definice upozornění, analyzovat trendy hodnocení a monitorovat pracovní zátěž upozornění ve velkém měřítku.

Schéma system.alert obsahuje dvě tabulky:

  • system.alert.alerts: Konfigurace každého upozornění, včetně jeho definice, harmonogramu, hodnotících prahů, odběratelů a časových razítek životního cyklu.
  • system.alert.alert_evaluation_history: Jeden řádek na každé vyhodnocení upozornění, zachycující vyhodnocený stav, hodnoty výsledků, stav doručení oznámení a podrobnosti o chybách.

Requirements

Ve výchozím nastavení mají přístup k tabulkám systému upozornění pouze uživatelé, kteří mají role správce účtu i správce metastore. Pro sdílení dat tabulky s uživatelem nebo skupinou Databricks doporučuje vytvořit dynamický pohled pro každého uživatele nebo skupinu. Viz Vytvoření dynamického zobrazení.

Schéma konfigurační tabulky upozornění

Tabulka system.alert.alerts je tabulka pomalu se měnící dimenze. Každý řádek zachycuje konfiguraci upozornění v daném okamžiku, takže jedno upozornění má při změně konfigurace více řádků.

Cesta k tabulce: Tato systémová tabulka se nachází na system.alert.alertsadrese .

Tabulka system.alert.alerts používá následující schéma:

Název sloupce Datový typ Description Příklad
account_id řetězec ID účtu. 23e22ba4-87b9-4cc2
-9770-d10b894b7118
workspace_id řetězec ID pracovního prostoru, kde je upozornění definováno. 1234567890123456
alert_id řetězec ID výstrahy. 2762099691916865
display_name řetězec Zobrazovaný název upozornění. Test Alert
owned_by řetězec Uživatelské jméno majitele upozornění. Nastavte na , Unavailable pokud byl uživatel smazán. example@databricks.com
compute struktura Struktura, která představuje výpočetní zdroj připojený k upozornění. Hodnota type je buď WAREHOUSE nebo SERVERLESS_COMPUTE. {
type: WAREHOUSE,
cluster_id: NULL,
warehouse_id: 802f6d5283291c0d
}
run_as řetězec ID uživatele nebo principála služby, jehož přihlašovací údaje jsou použity k spuštění upozornění. 2967555311742259
schedule struktura Struktura, která představuje plán upozornění, včetně jeho stavu pauzy, plánu cronu a časového pásma. {
pause_status: UNPAUSED,
quartz_cron_schedule: 0 0 10 * * ?,
timezone_id: UTC
}
evaluation_source struktura Struktura, která reprezentuje zdrojový sloupec z výsledku dotazu použitá k vyhodnocení upozornění, včetně agregace, která na něj byla aplikována. {
aggregation: SUM,
display: x,
name: x
}
evaluation_comparison_operator řetězec Operátor použil k porovnání zdrojové hodnoty s prahem při vyhodnocování. Například: GREATER_THAN, LESS_THANa EQUAL. LESS_THAN
evaluation_threshold struktura Struktura, která představuje práh, se kterým se porovnává zdrojová hodnota. Prahová hodnota je buď statická hodnota, nebo další sloupec. {
value: {
double_value: 1.25
}
}
evaluation_empty_result_state řetězec Stav, který upozornění hlásí, když dotaz vrátí prázdný výsledek. Možné hodnoty jsou OK, TRIGGEREDa ERROR. OK
notify_on_ok boolean Zda informovat odběratele, až se upozornění vrátí do státu OK . true
retrigger_seconds Int Počet sekund, které upozornění čeká po spuštění, než se může znovu spustit. Pokud 0, upozornění se znovu nespustí. 0
subscriptions pole Skupina předplatitelů, kteří obdrží upozornění. Každý odběratel je identifikován uživatelským e-mailem nebo ID cílového místa oznámení. [
{
user_email: example@databricks.com,
destination_id: null
}
]
change_time časové razítko Kdy byla konfigurace naposledy změněna. Informace o časových pásmech jsou zaznamenány na konci hodnoty s +00:00 označením UTC. 2023-01-01T01:01:01.123+00:00
create_time časové razítko Čas, kdy bylo upozornění vytvořeno. Informace o časových pásmech jsou zaznamenány na konci hodnoty s +00:00 označením UTC. 2023-01-01T01:01:01.123+00:00
delete_time časové razítko Čas, kdy bylo upozornění trvale smazáno. Upozornění přesunutá do koše nejsou zaznamenávána. Informace o časových pásmech jsou zaznamenány na konci hodnoty s +00:00 označením UTC. 2023-01-01T01:01:01.123+00:00

Schéma tabulky historie upozornění

Tabulka zaznamenává system.alert.alert_evaluation_history jeden řádek pro každé hodnocení upozornění, zachycuje vyhodnocený stav a související statistiky.

Cesta k tabulce: Tato systémová tabulka se nachází na system.alert.alert_evaluation_historyadrese .

Tabulka system.alert.alert_evaluation_history používá následující schéma:

Název sloupce Datový typ Description Příklad
account_id řetězec ID účtu. 23e22ba4-87b9-4cc2
-9770-d10b894b7118
workspace_id řetězec ID pracovního prostoru, kde je upozornění definováno. 1234567890123456
alert_id řetězec ID vyhodnoceného upozornění. Spojuje se s alert_id .system.alert.alerts 2762099691916865
job_id řetězec ID práce, která spustila upozornění. Spojuje se s job_id .system.lakeflow.jobs NULL když upozornění běží podle vlastního harmonogramu místo jako součást práce. Použijte a LEFT JOIN , když dotazujete proti system.lakeflow.jobs. 906851285941474
task_key řetězec Referenční klíč pro úkol v rámci práce. Spojuje se s task_key .system.lakeflow.job_tasks NULL když upozornění běží podle vlastního harmonogramu místo jako součást práce. Použijte a LEFT JOIN , když dotazujete proti system.lakeflow.job_tasks. evaluate_alert
alert_run_id řetězec ID z vyhodnocení upozornění. 4104302562320643
evaluated_state řetězec Vyhodnocený stav upozornění. Možné hodnoty jsou OK, TRIGGEREDa ERROR. TRIGGERED
evaluated_source_result struktura Struktura, která reprezentuje zdrojovou hodnotu vzniklou vyhodnocením. {
double_value: 1.25
}
evaluated_threshold_result struktura Struktura, která reprezentuje prahovou hodnotu z vyhodnocení, nebo statickou hodnotu nastavenou v konfiguraci upozornění. {
double_value: 1.25
}
error_code řetězec Chybový kód pokud vyhodnocení selhalo s chybou. INTERNAL_ERROR
error_message řetězec Uživatelsky viditelná chybová zpráva, pokud vyhodnocení selhalo s chybou. Query execution failed
notified_subscriptions pole Pole předplatitelů, kteří byli úspěšně informováni. Každý odběratel je identifikován uživatelským e-mailem nebo ID cílového místa oznámení. [
{
user_email: example@databricks.com,
destination_id: null
}
]
failed_subscriptions pole Skupina odběratelů, jejichž oznámení nebyla odeslána. Každý odběratel je identifikován uživatelským e-mailem nebo ID cílového místa oznámení. [
{
user_email: example@databricks.com,
destination_id: null
}
]
start_time časové razítko Kdy začalo hodnocení. Informace o časových pásmech jsou zaznamenány na konci hodnoty s +00:00 označením UTC. 2023-01-01T01:01:01.123+00:00
end_time časové razítko Kdy hodnocení skončilo. Informace o časových pásmech jsou zaznamenány na konci hodnoty s +00:00 označením UTC. 2023-01-01T01:01:01.123+00:00

Vzorové dotazy

Následující ukázkové dotazy ukazují běžné způsoby analýzy konfigurace upozornění a historie vyhodnocování. Každý dotaz používá pojmenované parametrové značky pro upozornění a pracovní prostory, takže jste při spuštění dotazu vyzváni na hodnoty.

Najděte nejnovější hodnocení upozornění

Tento dotaz vrací nejnovější konfiguraci konkrétního upozornění spolu s jeho nejnovějším hodnocením.

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;

Zjistěte, která upozornění se za posledních sedm dní spustila nejvíce

Tento dotaz počítá, kolikrát bylo každé upozornění spuštěno v pracovním prostoru za posledních sedm dní.

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;

Sledujte, jak se stav upozornění v průběhu času měnil

Tento dotaz shrnuje denní počet každého vyhodnoceného stavu pro konkrétní upozornění za posledních 30 dní. Použijte ho k vytvoření dashboardu, který monitoruje spolehlivost upozornění.

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;

Seznam aktivních upozornění v pracovním prostoru

Tento dotaz vrací nejnovější konfiguraci každého upozornění, které není smazáno a není pozastaveno v pracovním prostoru.

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';