Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
Deze systeemtabel bevindt zich in Openbare Preview.
Deze pagina bevat informatie over de waarschuwingssysteemtabellen, inclusief een overzicht van het schema van elke tabel. Gebruik deze tabellen om direct in SQL de meldingen van je werkruimte-alerts en hun evaluatiegeschiedenis op te vragen, zodat je alertdefinities kunt auditen, evaluatietrends kunt analyseren en alertworkloads op grote schaal kunt monitoren.
Het system.alert schema bevat twee tabellen:
-
system.alert.alerts: De configuratie van elke melding, inclusief de definitie, planning, evaluatiedrempels, abonnees en levenscyclustijdstempels. -
system.alert.alert_evaluation_history: Eén rij per waarschuwingsevaluatie, waarin de geëvalueerde toestand, resultaatwaarden, meldingsleveringsstatus en foutdetails worden vastgelegd.
Requirements
Standaard hebben alleen gebruikers met zowel de accountbeheerder als de metastore-beheerder toegang tot de waarschuwingssysteemtabellen. Om de gegevens van een tabel te delen met een gebruiker of groep, raadt Databricks aan om voor elke gebruiker of groep een dynamisch overzicht te maken. Zie Een dynamische weergave maken.
Alert configuratietabel schema
De system.alert.alerts tabel is een langzaam veranderende dimensie-tabel. Elke rij legt de configuratie van een waarschuwing op een bepaald moment vast, zodat één enkele waarschuwing meerdere rijen heeft wanneer de configuratie verandert.
tabelpad: deze systeemtabel bevindt zich op system.alert.alerts.
In de system.alert.alerts tabel wordt het volgende schema gebruikt:
| Kolomnaam | Gegevenstype | Description | Example |
|---|---|---|---|
account_id |
tekenreeks | De id van het account. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
tekenreeks | De ID van de werkruimte waar de melding is gedefinieerd. | 1234567890123456 |
alert_id |
tekenreeks | De id van de waarschuwing. | 2762099691916865 |
display_name |
tekenreeks | De weergavenaam van de waarschuwing. | Test Alert |
owned_by |
tekenreeks | De gebruikersnaam van de eigenaar van de alert. Stel in op Unavailable of de gebruiker is verwijderd. |
example@databricks.com |
compute |
struct | Een struct die de rekenkracht vertegenwoordigt die aan de alert is gekoppeld. De type waarde is ofwel WAREHOUSE of SERVERLESS_COMPUTE. |
{type: WAREHOUSE,cluster_id: NULL,warehouse_id: 802f6d5283291c0d} |
run_as |
tekenreeks | De ID van de gebruiker of diensthoofd wiens inloggegevens worden gebruikt om de waarschuwing uit te voeren. | 2967555311742259 |
schedule |
struct | Een struct die het schema van de alert vertegenwoordigt, inclusief de pauzestatus, cron-schema en tijdzone. | {pause_status: UNPAUSED,quartz_cron_schedule: 0 0 10 * * ?,timezone_id: UTC} |
evaluation_source |
struct | Een struct die de bronkolom uit het zoekresultaat vertegenwoordigt dat wordt gebruikt om de waarschuwing te evalueren, inclusief de aggregatie die daarop wordt toegepast. | {aggregation: SUM,display: x,name: x} |
evaluation_comparison_operator |
tekenreeks | De operator vergelijkt de bronwaarde tijdens de evaluatie met de drempelwaarde. Bijvoorbeeld: GREATER_THAN, LESS_THANen EQUAL. |
LESS_THAN |
evaluation_threshold |
struct | Een struct die de drempel weergeeft waarmee de bronwaarde wordt vergeleken. De drempel is ofwel een statische waarde of een andere kolom. | {value: { double_value: 1.25}} |
evaluation_empty_result_state |
tekenreeks | De toestand die de alert rapporteert wanneer de query een leeg resultaat teruggeeft. Mogelijke waarden zijn OK, TRIGGEREDen ERROR. |
OK |
notify_on_ok |
boolean | Of abonnees worden geïnformeerd wanneer de waarschuwing terugkeert naar de OK staat. |
true |
retrigger_seconds |
int | Het aantal seconden dat de waarschuwing wacht nadat hij is geactiveerd voordat hij opnieuw kan afgaan. Als 0, wordt de waarschuwing niet opnieuw geactiveerd. |
0 |
subscriptions |
array | Een reeks abonnees die de melding ontvangen. Elke abonnee wordt geïdentificeerd door een gebruikers-e-mail of een meldingsbestemmings-ID. | [{ user_email: example@databricks.com, destination_id: null}] |
change_time |
timestamp | De tijd waarop de configuratie voor het laatst werd gewijzigd. Tijdzone-informatie wordt aan het einde van de waarde geregistreerd die +00:00 UTC vertegenwoordigt. |
2023-01-01T01:01:01.123+00:00 |
create_time |
timestamp | Het moment waarop het alarm werd gemaakt. Tijdzone-informatie wordt aan het einde van de waarde geregistreerd die +00:00 UTC vertegenwoordigt. |
2023-01-01T01:01:01.123+00:00 |
delete_time |
timestamp | De tijd waarop de melding permanent werd verwijderd. Meldingen die naar de prullenbak worden verplaatst, worden niet geregistreerd. Tijdzone-informatie wordt aan het einde van de waarde geregistreerd die +00:00 UTC vertegenwoordigt. |
2023-01-01T01:01:01.123+00:00 |
Waarschuwingsevaluatiegeschiedenis-tabel schema
De system.alert.alert_evaluation_history tabel registreert één rij voor elke waarschuwingsevaluatie, waarbij de geëvalueerde toestand en gerelateerde statistieken worden vastgelegd.
tabelpad: deze systeemtabel bevindt zich op system.alert.alert_evaluation_history.
In de system.alert.alert_evaluation_history tabel wordt het volgende schema gebruikt:
| Kolomnaam | Gegevenstype | Description | Example |
|---|---|---|---|
account_id |
tekenreeks | De id van het account. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
tekenreeks | De ID van de werkruimte waar de melding is gedefinieerd. | 1234567890123456 |
alert_id |
tekenreeks | De ID van de geëvalueerde melding. Sluit zich aan tot alert_id in system.alert.alerts. |
2762099691916865 |
job_id |
tekenreeks | De ID van de baan die de alert uitzond. Sluit zich aan tot job_id in system.lakeflow.jobs.
NULL wanneer de melding op eigen schema verloopt in plaats van als onderdeel van een taak. Gebruik een LEFT JOIN wanneer je een query tegen system.lakeflow.jobs. |
906851285941474 |
task_key |
tekenreeks | De referentiesleutel voor de taak binnen de functie. Sluit zich aan tot task_key in system.lakeflow.job_tasks.
NULL wanneer de melding op eigen schema verloopt in plaats van als onderdeel van een taak. Gebruik een LEFT JOIN wanneer je een query tegen system.lakeflow.job_tasks. |
evaluate_alert |
alert_run_id |
tekenreeks | De ID van de waarschuwingsevaluatie wordt uitgevoerd. | 4104302562320643 |
evaluated_state |
tekenreeks | De beoordeelde status van het alarm. Mogelijke waarden zijn OK, TRIGGEREDen ERROR. |
TRIGGERED |
evaluated_source_result |
struct | Een struct die de bronwaarde vertegenwoordigt die door de evaluatie wordt geproduceerd. | {double_value: 1.25} |
evaluated_threshold_result |
struct | Een struct die de drempelwaarde uit de evaluatie vertegenwoordigt, of de statische waarde die in de waarschuwingsconfiguratie is ingesteld. | {double_value: 1.25} |
error_code |
tekenreeks | De foutcode als de evaluatie faalde met een fout. | INTERNAL_ERROR |
error_message |
tekenreeks | De door de gebruiker zichtbare foutmelding als de evaluatie faalde met een foutmelding. | Query execution failed |
notified_subscriptions |
array | Een reeks abonnees die succesvol op de hoogte zijn gebracht. Elke abonnee wordt geïdentificeerd door een gebruikers-e-mail of een meldingsbestemmings-ID. | [{ user_email: example@databricks.com, destination_id: null}] |
failed_subscriptions |
array | Een reeks abonnees van wie de meldingen niet verzonden konden worden. Elke abonnee wordt geïdentificeerd door een gebruikers-e-mail of een meldingsbestemmings-ID. | [{ user_email: example@databricks.com, destination_id: null}] |
start_time |
timestamp | De tijd dat de evaluatie begon. Tijdzone-informatie wordt aan het einde van de waarde geregistreerd die +00:00 UTC vertegenwoordigt. |
2023-01-01T01:01:01.123+00:00 |
end_time |
timestamp | De tijd dat de evaluatie eindigde. Tijdzone-informatie wordt aan het einde van de waarde geregistreerd die +00:00 UTC vertegenwoordigt. |
2023-01-01T01:01:01.123+00:00 |
Voorbeeldvragen
De volgende voorbeeldqueries tonen veelvoorkomende manieren om waarschuwingsconfiguratie en evaluatiegeschiedenis te analyseren. Elke query gebruikt benoemde parametermarkers voor de alert- en workspace-ID's, dus je wordt gevraagd om de waarden wanneer je de query uitvoert.
Vind de meest recente evaluatie voor een melding
Deze query geeft de meest recente configuratie van een specifieke waarschuwing samen met de meest recente evaluatie.
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;
Vind welke meldingen het meest zijn geactiveerd in de afgelopen zeven dagen
Deze query telt hoe vaak elke melding in een werkruimte in de afgelopen zeven dagen is geactiveerd.
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;
Houd bij hoe de status van een waarschuwing in de loop van de tijd veranderde
Deze query vat de dagelijkse telling samen van elke geëvalueerde staat voor een specifieke waarschuwing in de afgelopen 30 dagen. Gebruik het om een dashboard te bouwen dat de betrouwbaarheid van waarschuwingen monitort.
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;
Vermeld actieve meldingen in een werkruimte
Deze query geeft de nieuwste configuratie van elke alert die niet is verwijderd en niet gepauzeerd in een werkruimte.
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';