Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Important
Den här systemtabellen finns i offentlig förhandsversion.
Denna sida innehåller information om larmsystemets tabeller, inklusive en översikt av varje tabells schema. Använd dessa tabeller för att fråga dina arbetsytsaviseringar och deras utvärderingshistorik direkt i SQL, så att du kan granska aviseringsdefinitioner, analysera utvärderingstrender och övervaka aviseringsarbetsbelastningar i stor skala.
Schemat system.alert innehåller två tabeller:
-
system.alert.alerts: Konfigurationen av varje varning, inklusive dess definition, schema, utvärderingsgränser, abonnenter och livscykeltidsstämplar. -
system.alert.alert_evaluation_history: En rad per varningsutvärdering, som fångar det utvärderade tillståndet, resultatvärden, status för leverans av notifikationer och feldetaljer.
Requirements
Som standard har endast användare med både kontoadministratörs- och metastoreadministratörsroller tillgång till larmsystemtabellerna. För att dela en tabells data med en användare eller grupp rekommenderar Databricks att skapa en dynamisk vy för varje användare eller grupp. Se Skapa en dynamisk vy.
Alert konfigurationstabellschema schema
Bordet system.alert.alerts är en långsamt föränderlig dimensionstabell. Varje rad fångar konfigurationen av en varning vid en viss tidpunkt, så en enda varning har flera rader när dess konfiguration ändras.
Tabellsökväg: Den här systemtabellen finns på system.alert.alerts.
Tabellen system.alert.alerts använder följande schema:
| Kolumnnamn | Datatyp | Description | Example |
|---|---|---|---|
account_id |
string | Kontots ID. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | ID:t för arbetsytan där varningen är definierad. | 1234567890123456 |
alert_id |
string | ID:t för aviseringen. | 2762099691916865 |
display_name |
string | Aviseringens visningsnamn. | Test Alert |
owned_by |
string | Användarnamnet på den uppmärksammade ägaren. Ställ in till Unavailable om användaren har tagits bort. |
example@databricks.com |
compute |
struct | En struktur som representerar den beräkningsresurs som är kopplad till varningen. Värdet type är antingen WAREHOUSE eller SERVERLESS_COMPUTE. |
{type: WAREHOUSE,cluster_id: NULL,warehouse_id: 802f6d5283291c0d} |
run_as |
string | ID:t för användaren eller tjänstehuvudpersonen vars inloggningsuppgifter används för att köra varningen. | 2967555311742259 |
schedule |
struct | En struktur som representerar larmets schema, inklusive dess pausstatus, cron-schema och tidszon. | {pause_status: UNPAUSED,quartz_cron_schedule: 0 0 10 * * ?,timezone_id: UTC} |
evaluation_source |
struct | En struktur som representerar källkolumnen från frågeresultatet som används för att utvärdera varningen, inklusive aggregeringen som appliceras på den. | {aggregation: SUM,display: x,name: x} |
evaluation_comparison_operator |
string | Operatorn användes för att jämföra källvärdet med tröskelvärdet under utvärderingen. Till exempel: GREATER_THAN, LESS_THANoch EQUAL. |
LESS_THAN |
evaluation_threshold |
struct | En struktur som representerar tröskeln som källvärdet jämförs med. Tröskelvärdet är antingen ett statiskt värde eller en annan kolumn. | {value: { double_value: 1.25}} |
evaluation_empty_result_state |
string | Det tillstånd som larmet rapporterar när frågan ger ett tomt resultat. Möjliga värden är OK, TRIGGEREDoch ERROR. |
OK |
notify_on_ok |
boolean | Om man ska meddela prenumeranter när varningen återvänder OK till delstaten. |
true |
retrigger_seconds |
int | Antalet sekunder som varningen väntar efter att ha utlösts innan den kan utlösas igen. Om 0, utlöses inte varningen igen. |
0 |
subscriptions |
matris | En rad av abonnenter som får notisen om varningen. Varje abonnent identifieras med en användare-e-postadress eller ett destinations-ID för notifikationer. | [{ user_email: example@databricks.com, destination_id: null}] |
change_time |
timestamp | Tiden då konfigurationen senast ändrades. Tidszonsinformation registreras i slutet av värdet som +00:00 representerar UTC. |
2023-01-01T01:01:01.123+00:00 |
create_time |
timestamp | Tiden då larmet skapades. Tidszonsinformation registreras i slutet av värdet som +00:00 representerar UTC. |
2023-01-01T01:01:01.123+00:00 |
delete_time |
timestamp | Tiden då aviseringen raderades permanent. Aviseringar som flyttas till papperskorgen registreras inte. Tidszonsinformation registreras i slutet av värdet som +00:00 representerar UTC. |
2023-01-01T01:01:01.123+00:00 |
Schema för larmutvärderingshistorik
Tabellen system.alert.alert_evaluation_history registrerar en rad för varje varningsutvärdering och fångar det utvärderade tillståndet och relaterade statistik.
Tabellsökväg: Den här systemtabellen finns på system.alert.alert_evaluation_history.
Tabellen system.alert.alert_evaluation_history använder följande schema:
| Kolumnnamn | Datatyp | Description | Example |
|---|---|---|---|
account_id |
string | Kontots ID. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | ID:t för arbetsytan där varningen är definierad. | 1234567890123456 |
alert_id |
string | ID:t för den utvärderade varningen. Ansluter till alert_id i system.alert.alerts. |
2762099691916865 |
job_id |
string | ID:t på jobbet som körde varningen. Ansluter till job_id i system.lakeflow.jobs.
NULL när varningen körs på sitt eget schema istället för som en del av ett jobb. Använd en LEFT JOIN när du frågar mot system.lakeflow.jobs. |
906851285941474 |
task_key |
string | Referensnyckeln för uppgiften inom jobbet. Ansluter till task_key i system.lakeflow.job_tasks.
NULL när varningen körs på sitt eget schema istället för som en del av ett jobb. Använd en LEFT JOIN när du frågar mot system.lakeflow.job_tasks. |
evaluate_alert |
alert_run_id |
string | ID:t för larmutvärderingen körs. | 4104302562320643 |
evaluated_state |
string | Det bedömda tillståndet för varningen. Möjliga värden är OK, TRIGGEREDoch ERROR. |
TRIGGERED |
evaluated_source_result |
struct | En struktur som representerar källvärdet som produceras av utvärderingen. | {double_value: 1.25} |
evaluated_threshold_result |
struct | En struktur som representerar tröskelvärdet från utvärderingen, eller det statiska värdet som satts i larmkonfigurationen. | {double_value: 1.25} |
error_code |
string | Felkoden om utvärderingen misslyckades med ett fel. | INTERNAL_ERROR |
error_message |
string | Användarsynligt felmeddelande om utvärderingen misslyckades med ett fel. | Query execution failed |
notified_subscriptions |
matris | En rad prenumeranter som framgångsrikt meddelades. Varje abonnent identifieras med en användare-e-postadress eller ett destinations-ID för notifikationer. | [{ user_email: example@databricks.com, destination_id: null}] |
failed_subscriptions |
matris | En rad prenumeranter vars notiser inte skickades. Varje abonnent identifieras med en användare-e-postadress eller ett destinations-ID för notifikationer. | [{ user_email: example@databricks.com, destination_id: null}] |
start_time |
timestamp | När utvärderingen började. Tidszonsinformation registreras i slutet av värdet som +00:00 representerar UTC. |
2023-01-01T01:01:01.123+00:00 |
end_time |
timestamp | När utvärderingen var slut. Tidszonsinformation registreras i slutet av värdet som +00:00 representerar UTC. |
2023-01-01T01:01:01.123+00:00 |
Exempelfrågor
Följande exempelfrågor visar vanliga sätt att analysera varningskonfiguration och utvärderingshistorik. Varje fråga använder namngivna parametermarkörer för aviserings- och arbetsyts-ID:n, så du blir tillfrågad om värdena när du kör frågan.
Hitta den senaste utvärderingen för en varning
Denna fråga returnerar den senaste konfigurationen av en specifik varning tillsammans med dess senaste utvärdering.
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;
Hitta vilka varningar som triggats mest under de senaste sju dagarna
Denna fråga räknar hur många gånger varje varning utlöstes i en arbetsyta under de senaste sju dagarna.
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;
Följ hur en varnings tillstånd förändrades över tid
Denna fråga sammanfattar den dagliga räkningen för varje utvärderad stat för en specifik varning under de senaste 30 dagarna. Använd den för att bygga en instrumentpanel som övervakar varningens tillförlitlighet.
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 aktiva varningar i en arbetsyta
Denna fråga returnerar den senaste konfigurationen för varje varning som inte är borttagen och inte pausad i en arbetsyta.
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';