Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Cette table système est en préversion publique.
Cette page inclut des informations sur les tables du système d’alerte, y compris un aperçu du schéma de chaque tableau. Utilisez ces tables pour interroger les alertes de votre espace de travail et leur historique d’évaluation directement en SQL, afin de pouvoir auditer les définitions d’alertes, analyser les tendances d’évaluation et surveiller les charges de travail d’alertes à grande échelle.
Le system.alert schéma contient deux tableaux :
-
system.alert.alerts: La configuration de chaque alerte, y compris sa définition, son calendrier, ses seuils d’évaluation, ses abonnés et ses horodatages du cycle de vie. -
system.alert.alert_evaluation_history: Une ligne par évaluation d’alerte, capturant l’état évalué, les valeurs des résultats, l’état de la notification et les détails de l’erreur.
Requirements
Par défaut, seuls les utilisateurs ayant à la fois les rôles d’administrateur de compte et d’administrateur du métastore ont accès aux tables du système d’alertes. Pour partager les données d’une table avec un utilisateur ou un groupe, Databricks recommande de créer une vue dynamique pour chaque utilisateur ou groupe. Consultez Créer une vue dynamique.
Schéma de table de configuration d’alerte
La system.alert.alerts table est une table de dimensions à variation lente. Chaque ligne capture la configuration d’une alerte à un moment donné, de sorte qu’une seule alerte comporte plusieurs lignes lorsque sa configuration change.
Chemin d’accès de la table : cette table système se trouve à l’emplacement system.alert.alerts.
Le system.alert.alerts tableau utilise le schéma suivant :
| Nom de la colonne | Type de données | Description | Exemple |
|---|---|---|---|
account_id |
string | Identificateur du compte. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | L’identifiant de l’espace de travail où l’alerte est définie. | 1234567890123456 |
alert_id |
string | ID de l’alerte. | 2762099691916865 |
display_name |
string | Nom complet de l’alerte. | Test Alert |
owned_by |
string | Le nom d’utilisateur du propriétaire de l’alerte. Réglez sur Unavailable si l’utilisateur a été supprimé. |
example@databricks.com |
compute |
struct | Une structure qui représente la ressource de calcul associée à l’alerte. La type valeur est soit WAREHOUSESERVERLESS_COMPUTE. |
{type: WAREHOUSE,cluster_id: NULL,warehouse_id: 802f6d5283291c0d} |
run_as |
string | L’identifiant de l’utilisateur ou du principal de service dont les identifiants sont utilisés pour exécuter l’alerte. | 2967555311742259 |
schedule |
struct | Une structure qui représente le calendrier de l’alerte, y compris son statut de pause, son calendrier cron et son fuseau horaire. | {pause_status: UNPAUSED,quartz_cron_schedule: 0 0 10 * * ?,timezone_id: UTC} |
evaluation_source |
struct | Une structure qui représente la colonne source du résultat de la requête utilisée pour évaluer l’alerte, y compris l’agrégation qui y est appliquée. | {aggregation: SUM,display: x,name: x} |
evaluation_comparison_operator |
string | L’opérateur comparait la valeur source avec le seuil lors de l’évaluation. Par exemple : GREATER_THAN, LESS_THAN et EQUAL. |
LESS_THAN |
evaluation_threshold |
struct | Une structure qui représente le seuil avec lequel la valeur source est comparée. Le seuil est soit une valeur statique, soit une autre colonne. | {value: { double_value: 1.25}} |
evaluation_empty_result_state |
string | L’état de l’alerte rapporte lorsque la requête retourne un résultat vide. Les valeurs possibles sont OK, TRIGGERED et ERROR. |
OK |
notify_on_ok |
booléen | Savoir s’il faut informer les abonnés lorsque l’alerte revient dans l’État OK . |
true |
retrigger_seconds |
int | Le nombre de secondes que l’alerte attend après avoir été déclenchée avant de pouvoir se déclencher à nouveau. Si 0, l’alerte ne se déclenche pas à nouveau. |
0 |
subscriptions |
tableau | Une série d’abonnés qui reçoivent la notification d’alerte. Chaque abonné est identifié par une adresse e-mail utilisateur ou un identifiant de destination de notification. | [{ user_email: example@databricks.com, destination_id: null}] |
change_time |
timestamp | L’heure à laquelle la configuration a été modifiée pour la dernière fois. Les informations sur le fuseau horaire sont enregistrées à la fin de la valeur en représentant +00:00 l’UTC. |
2023-01-01T01:01:01.123+00:00 |
create_time |
timestamp | L’heure à laquelle l’alerte a été créée. Les informations sur le fuseau horaire sont enregistrées à la fin de la valeur en représentant +00:00 l’UTC. |
2023-01-01T01:01:01.123+00:00 |
delete_time |
timestamp | L’heure où l’alerte a été définitivement supprimée. Les alertes déplacées vers la poubelle ne sont pas enregistrées. Les informations sur le fuseau horaire sont enregistrées à la fin de la valeur en représentant +00:00 l’UTC. |
2023-01-01T01:01:01.123+00:00 |
Schéma de la table d’historique d’évaluation des alertes
Le system.alert.alert_evaluation_history tableau enregistre une ligne pour chaque évaluation d’alerte, capturant l’état évalué et les statistiques associées.
Chemin d’accès de la table : cette table système se trouve à l’emplacement system.alert.alert_evaluation_history.
Le system.alert.alert_evaluation_history tableau utilise le schéma suivant :
| Nom de la colonne | Type de données | Description | Exemple |
|---|---|---|---|
account_id |
string | Identificateur du compte. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | L’identifiant de l’espace de travail où l’alerte est définie. | 1234567890123456 |
alert_id |
string | L’identification de l’alerte évaluée. Rejoint à alert_id dans system.alert.alerts. |
2762099691916865 |
job_id |
string | L’identifiant du travail qui a lancé l’alerte. Rejoint à job_id dans system.lakeflow.jobs.
NULL Quand l’alerte s’exécute selon son propre rythme au lieu de faire partie d’un travail. Utilisez un LEFT JOIN lorsque vous interrogez contre system.lakeflow.jobs. |
906851285941474 |
task_key |
string | La clé de référence pour la tâche dans le poste. Rejoint à task_key dans system.lakeflow.job_tasks.
NULL Quand l’alerte s’exécute selon son propre rythme au lieu de faire partie d’un travail. Utilisez un LEFT JOIN lorsque vous interrogez contre system.lakeflow.job_tasks. |
evaluate_alert |
alert_run_id |
string | L’ID de l’exécution d’évaluation de l’alerte. | 4104302562320643 |
evaluated_state |
string | L’état évalué de l’alerte. Les valeurs possibles sont OK, TRIGGERED et ERROR. |
TRIGGERED |
evaluated_source_result |
struct | Une structure qui représente la valeur source produite par l’évaluation. | {double_value: 1.25} |
evaluated_threshold_result |
struct | Une struct qui représente la valeur seuil de l’évaluation, ou la valeur statique définie dans la configuration d’alerte. | {double_value: 1.25} |
error_code |
string | Le code d’erreur si l’évaluation a échoué avec une erreur. | INTERNAL_ERROR |
error_message |
string | Le message d’erreur visible par l’utilisateur si l’évaluation a échoué avec une erreur. | Query execution failed |
notified_subscriptions |
tableau | Une série d’abonnés qui ont été informés avec succès. Chaque abonné est identifié par une adresse e-mail utilisateur ou un identifiant de destination de notification. | [{ user_email: example@databricks.com, destination_id: null}] |
failed_subscriptions |
tableau | Un ensemble d’abonnés dont les notifications n’ont pas été envoyées. Chaque abonné est identifié par une adresse e-mail utilisateur ou un identifiant de destination de notification. | [{ user_email: example@databricks.com, destination_id: null}] |
start_time |
timestamp | Le moment où l’évaluation a commencé. Les informations sur le fuseau horaire sont enregistrées à la fin de la valeur en représentant +00:00 l’UTC. |
2023-01-01T01:01:01.123+00:00 |
end_time |
timestamp | L’heure à laquelle l’évaluation s’est terminée. Les informations sur le fuseau horaire sont enregistrées à la fin de la valeur en représentant +00:00 l’UTC. |
2023-01-01T01:01:01.123+00:00 |
Exemples de requêtes
Les requêtes exemples suivantes montrent des méthodes courantes pour analyser l’historique de configuration et d’évaluation des alertes. Chaque requête utilise des marqueurs de paramètres nommés pour les identifiants d’alerte et d’espace de travail, donc on vous demande les valeurs lors de l’exécution de la requête.
Trouvez la dernière évaluation pour une alerte
Cette requête renvoie la dernière configuration d’une alerte spécifique en même temps que son évaluation la plus récente.
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;
Trouvez quelles alertes se sont déclenchées le plus ces sept derniers jours
Cette requête compte le nombre de fois où chaque alerte a été déclenchée dans un espace de travail au cours des sept derniers jours.
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;
Suivez comment l’état d’une alerte a évolué au fil du temps
Cette requête résume le nombre quotidien de chaque État évalué pour une alerte spécifique au cours des 30 derniers jours. Utilisez-le pour construire un tableau de bord qui surveille la fiabilité des alertes.
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;
Listez les alertes actives dans un espace de travail
Cette requête renvoie la dernière configuration de chaque alerte qui n’est pas supprimée et non mise en pause dans un espace de travail.
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';