Que sont les alertes Databricks SQL ?
Les alertes Databricks SQL exécutent régulièrement des requêtes, évaluent des conditions définies et envoient des notifications si une condition est remplie. Vous pouvez configurer des alertes pour monitorer votre activité et envoyer des notifications lorsque des données signalées dépassent des limites attendues. La planification d’une alerte effectue sa requête sous-jacente et vérifie les critères d’alerte. Elle n’est pas dépendante des planifications qui peuvent exister sur la requête sous-jacente.
Important
- Les alertes tirant parti de requêtes avec des paramètres utilisent la valeur par défaut spécifiée dans l’éditeur SQL pour chaque paramètre.
Afficher et organiser les alertes
Utilisez l’une des options suivantes pour accéder aux alertes :
- Cliquez sur l’ espace de travail dans la barre latérale pour afficher les alertes dans le dossier Accueil, où elles sont stockées par défaut. Les utilisateurs peuvent organiser les alertes en dossiers dans l’explorateur d’espace de travail avec d’autres objets Databricks.
- Cliquez sur les alertes dans la barre latérale pour afficher la page de la liste des alertes.
Par défaut, les objets sont triés dans l’ordre chronologique inverse. Vous pouvez réorganiser la liste en cliquant sur les en-têtes de colonne. Cliquez sur l’onglet Toutes les alertes en haut de l’écran pour afficher toutes les alertes dans l’espace de travail. Cliquez sur l’onglet Mes alertes pour afficher les alertes où vous êtes le propriétaire.
- Nom présente le nom de chaîne de chaque alerte.
- État indique si l’état de l’alerte est
TRIGGERED
,OK
ouUNKNOWN
. - Dernière mise à jour affiche l’heure ou la date de dernière mise à jour.
- Création affiche la date et à l’heure de création de l’alerte.
TRIGGERED
signifie que lors de l’exécution la plus récente, la colonne Valeur de votre requête cible a satisfait à la condition et au seuil que vous avez configurés. Si votre alerte vérifie si les « chats » sont plus de 1 500, alors elle se déclenche tant que les « chats » sont plus de 1 500.OK
signifie que lors de l’exécution la plus récente, la colonne Valeur n’a pas satisfait à la condition et au seuil que vous avez configurés. Cela ne signifie pas que l’alerte ne s’est pas déclenchée auparavant. Si le nombre de « chats » s’élève maintenant à 1470, votre alerte indiqueOK
.UNKNOWN
signifie que Databricks SQL ne dispose pas de suffisamment de données pour évaluer les critères d’alerte. Vous voyez cet état juste après avoir créé votre alerte et tant que la requête n’a pas été exécutée. Cet état s’affiche également si le résultat de la requête ne contient pas de données ou si le résultat de la requête la plus récente n’inclut pas la colonne Valeur que vous avez configurée.
Créer une alerte
Suivez ces étapes pour créer une alerte sur une seule colonne d’une requête.
Effectuez l’une des opérations suivantes :
- Cliquez sur Nouveau dans la barre latérale, puis sélectionnez Alerte.
- Cliquez sur Alertes dans la barre latérale, puis cliquez sur le bouton + Nouvelle alerte.
- Cliquez sur Espace de travail dans la barre latérale, puis cliquez sur + Créer une alerte.
- Cliquez sur le menu kebab dans le coin supérieur droit d’une requête enregistrée, puis sur + Créer une alerte.
Dans le champ Requête, recherchez une requête cible.
Pour alerter sur plusieurs colonnes, vous devez modifier votre requête. Consultez Agrégations d’alertes.
Dans le champ Condition de déclencheur, configurez l’alerte.
La liste déroulante Value column (Colonne de valeur) contrôle le champ du résultat de la requête qui est évalué. Des conditions d’alerte peuvent être définies sur la première valeur d’une colonne dans le résultat de la requête, ou vous pouvez choisir de définir une agrégation sur toutes les lignes d’une seule colonne, par exemple SUM ou AVERAGE.
La liste déroulante Opérateur contrôle l’opération logique à appliquer.
L’entrée de texte de Valeur du seuil est comparée à la colonne Valeur en utilisant la Condition que vous spécifiez.
Cliquez sur Aperçu de l’alerte pour afficher un aperçu de l’alerte et tester si l’alerte se déclenche avec les données actuelles.
Dans le champ En cas de déclenchement d’une alerte, envoyer une notification, sélectionnez le nombre de notifications à envoyer lorsque votre alerte est déclenchée :
- Just once (Une seule fois) : envoyez une notification lorsque l’état de l’alerte passe de
OK
àTRIGGERED
. - Each time alert is evaluated (Chaque fois que l’alerte est évaluée) : envoyez une notification chaque fois que l’état de l’alerte est
TRIGGERED
, quel que soit son état lors de l’évaluation précédente. - At most every (Au plus toutes les) : envoyez une notification chaque fois que l’état de l’alerte est
TRIGGERED
à un intervalle spécifique. Ce choix vous permet d’éviter des notifications indésirables pour les alertes qui se déclenchent souvent.
Quel que soit le paramètre de notification que vous choisissez, vous recevez une notification chaque fois que l’état passe de
OK
àTRIGGERED
ou deTRIGGERED
àOK
. Les paramètres de planification affectent le nombre de notifications que vous recevez si l’état resteTRIGGERED
d’une exécution à la suivante. Pour plus d’informations, consultez Fréquence de notification.- Just once (Une seule fois) : envoyez une notification lorsque l’état de l’alerte passe de
Dans la liste déroulante Template (Modèle), choisissez un modèle :
- Use default template (Utiliser le modèle par défaut) : la notification d’alerte est un message contenant des liens vers l’écran de configuration d’alerte et l’écran de requête.
- Use custom template (Utiliser un modèle personnalisé) : la notification d’alerte contient des informations plus spécifiques sur l’alerte.
Une zone s’affiche, composée de champs d’entrée pour l’objet et le corps. Tout contenu statique est valide et vous pouvez incorporer des variables de modèle intégré :
ALERT_STATUS
: état d’alerte évalué (chaîne).ALERT_CONDITION
: opérateur de condition d’alerte (chaîne).ALERT_THRESHOLD
: seuil d’alerte (chaîne ou nombre).ALERT_COLUMN
: nom de la colonne d’alerte (chaîne).ALERT_NAME
: nom de l’alerte (chaîne).ALERT_URL
: URL de la page d’alerte (chaîne).QUERY_NAME
: nom de la requête associée (chaîne).QUERY_URL
: URL de la page de requête associée (chaîne).QUERY_RESULT_TABLE
: table HTML du résultat de la requête (chaîne).QUERY_RESULT_VALUE
: valeur du résultat de la requête (chaîne ou nombre).QUERY_RESULT_ROWS
: lignes de résultat de la requête (tableau de valeurs).QUERY_RESULT_COLS
: colonnes de résultat de la requête (tableau de valeurs).
Un exemple d’objet pourrait être :
Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}}
.Vous pouvez utiliser le format HTML pour mettre en forme des messages dans un modèle personnalisé. Les balises et les attributs suivants sont autorisés dans les modèles :
- Étiquettes :
<a>
,<abbr>
,<acronym>
,<b>
,<blockquote>
,<body>
,<br>
,<code>
,<div>
,<em>
,<h1>
,<h2>
,<h3>
,<h4>
,<h5
>,<h6
>,<head
>,<hr>
,<html>
,<i>
,<li>
,<ol>
,<p>
,<span>
,<strong>
,<table>
,<tbody>
,<td>
,<th>
,<tr>
,<ul>
- Attributs : href (pour
<a>
), titre (pour<a>
,<abbr>
,<acronym>
)
- Étiquettes :
Cliquez sur le bouton bascule Preview (Aperçu) pour afficher un aperçu du résultat du rendu.
Important
L’aperçu permet de vérifier que les variables de modèle sont rendues correctement. Il ne s’agit pas d’une représentation exacte du contenu de notification final, car chaque destination de notifications peut afficher les notifications différemment.
Cliquez sur le bouton Save Changes (Enregistrer les modifications).
Cliquez sur Create Alert (Créer une alerte).
Cliquez sur Ajouter une planification.
- Utilisez les sélecteurs de liste déroulante pour spécifier la fréquence, la période, l’heure de début et le fuseau horaire. Si vous le souhaitez, sélectionnez la case à cocher Afficher la syntaxe Cron pour modifier la planification dans la Syntaxe Quartz Cron.
- Choisissez Autres options pour afficher des paramètres facultatifs. Vous pouvez également choisir :
- Un nom pour la planification.
- Un entrepôt SQL pour exécuter la requête. Par défaut, l’entrepôt SQL utilisé pour une exécution de requête ad hoc est également utilisé pour un travail de planification. Utilisez ce paramètre facultatif pour sélectionnez un autre entrepôt afin d’exécuter la requête planifiée.
Cliquez sur l’onglet Destination dans la boîte de dialogue Ajouter une planification.
- Utilisez la liste déroulante pour sélectionner une destination de notification. Ou commencez à taper un nom d’utilisateur pour ajouter des personnes.
Important
Si vous ignorez cette étape, vous ne serez pas averti quand l’alerte sera déclenchée.
Cliquez sur Créer. Les détails de la notification et de votre alerte enregistrée apparaissent à l’écran.
Partagez la planification.
- À droite de la planification répertoriée, choisissez le menu kebab , puis sélectionnez Modifier des autorisations de planification.
- Choisissez un utilisateur ou un groupe à partir du menu déroulant dans la boîte de dialogue.
- Choisissez l’une des autorisations de planification suivantes :
- NO PERMISSIONS : Aucune autorisation n’a été accordée. Les utilisateurs sans autorisation ne peuvent pas voir que la planification existe, même s’ils sont abonnés ou inclus dans les destinations de notification répertoriées.
- PEUT AFFICHER : permet de visualiser les résultats d’une exécution programmée.
- PEUT GÉRER L’EXÉCUTION : permet d’afficher les résultats de l’exécution programmée.
- PEUT GÉRER : Permet d’afficher, de modifier et de supprimer des horaires. Cette autorisation est requise pour apporter des modifications à l’intervalle d’exécution, mettre à jour la liste des abonnés et suspendre ou annuler la planification.
- EST PROPRIÉTAIRE : accorde toutes les autorisations de PEUT GÉRER. En outre, les informations d’identification du propriétaire de planification sont utilisées pour exécuter des requêtes de tableau de bord. Seul un administrateur d’espace de travail peut modifier le propriétaire.
Important
Les autorisations pour les alertes et les planifications sont distinctes. Accordez l’accès aux utilisateurs et aux groupes dans la liste des destinations des notifications afin qu’ils puissent afficher les résultats d’une exécution planifiée.
Partagez l’alerte.
- Cliquez sur en haut à droite de la page.
- Ajoutez des utilisateurs ou des groupes qui doivent avoir accès à l’alerte.
- Choisissez le niveau d’autorisation approprié, puis cliquez sur Ajouter.
Important
L’option PEUT GÉRER accorde l’autorisation d’afficher, de modifier et de supprimer des planifications. Cette autorisation est requise pour apporter des modifications à l’intervalle d’exécution, mettre à jour la liste de destinations des notifications et suspendre ou annuler la planification.
Pour plus d’informations sur les niveaux d’autorisation des alertes, consultez Listes de contrôle d’accès (ACL) des alertes.
Agrégations d’alertes
Une agrégation sur une alerte fonctionne en modifiant le SQL d’origine de la requête Databricks SQL attachée à l’alerte. L’alerte encapsule le texte de la requête d’origine dans une expression de table commune (CTE) et exécute une requête d’agrégation d’encapsulage sur celle-ci pour agréger le résultat de la requête.
Par exemple, une agrégation SUM
sur une alerte attachée à une requête avec un texte SELECT 1 AS column_name
signifie que chaque fois que l’alerte est actualisée, le code SQL modifié qui s’exécute est : WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q
.
Cela veut dire que le résultat de la requête d’origine (pré-agrégé) ne peut pas être affiché dans un corps personnalisé d’alerte (avec des paramètres tels que QUERY_RESULT_ROWS
et QUERY_RESULT_COLS
) chaque fois qu’une agrégation existe sur une alerte. Au lieu de cela, ces variables affichent uniquement le résultat final et postérieur à l’agrégation de la requête.
Notes
Toutes les conditions du déclencheur liées aux agrégations ne sont pas prises en charge par l’API.
Alerte sur plusieurs colonnes
Pour définir une alerte sur la base de plusieurs colonnes d’une requête, votre requête peut implémenter la logique d’alerte et retourner une valeur booléenne pour déclencher l’alerte. Par exemple :
SELECT CASE WHEN drafts_count > 10000 AND archived_count > 5000 THEN 1 ELSE 0 END
FROM (
SELECT sum(CASE WHEN is_archived THEN 1 ELSE 0 END) AS archived_count,
sum(CASE WHEN is_draft THEN 1 ELSE 0 END) AS drafts_count
FROM queries) data
Cette requête retourne 1
quand drafts_count > 10000 and archived_count > 5000
.
Vous pouvez ensuite configurer l’alerte pour qu’elle se déclenche lorsque la valeur est 1
.
Fréquence de notification
Databricks SQL envoie les notifications aux destinations de notifications que vous avez choisies chaque fois qu’il détecte un changement d’état d’alerte, de OK
à TRIGGERED
ou inversement.
Prenons l’exemple où une alerte est configurée sur une requête planifiée pour s’exécuter une fois par jour. L’état quotidien de l’alerte s’affiche dans le tableau suivant.
Avant le lundi, l’état de l’alerte était OK
.
jour | État de l’alerte |
---|---|
Lundi | OK |
Mardi | OK |
Mercredi | TRIGGERED |
Jeudi | TRIGGERED |
Vendredi | TRIGGERED |
Samedi | TRIGGERED |
Dimanche | OK |
Si la fréquence de notification est définie sur Just Once
, Databricks SQL envoie une notification le mercredi lorsque l’état passe de OK
à TRIGGERED
, et de nouveau le dimanche lorsqu’il bascule à nouveau. Il n’envoie pas d’alertes le jeudi, le vendredi ni le samedi, sauf si vous le configurez spécifiquement pour ce faire, car l’état de l’alerte n’a pas changé entre les exécutions de ces jours.
Configurer les autorisations d’alerte et transférer la propriété d’alerte
Vous devez disposer au moins de l’autorisation PEUT GÉRER sur une requête pour pouvoir la partager. Pour plus d’informations sur les niveaux d’autorisation des alertes, consultez Listes de contrôle d’accès (ACL) des alertes.
Dans la barre latérale, cliquez sur Alertes.
Cliquez sur une alerte.
Cliquez sur le bouton en haut à droite pour ouvrir la boîte de dialogue Partager.
Recherchez et sélectionnez les groupes et les utilisateurs, et attribuez-leur un niveau d’autorisation.
Cliquez sur Ajouter.
Transfert de la propriété d’une alerte
Lorsque vous enregistrez une alerte, vous en devenez le propriétaire. Si le propriétaire d’une alerte est supprimé d’un espace de travail, l’alerte n’a plus de propriétaire. Un utilisateur administrateur d’espace de travail peut transférer la propriété d’une alerte à un autre utilisateur. La propriété d’une alerte ne peut pas être attribuée à des principaux de service et des groupes. Vous pouvez également transférer la propriété à l’aide de l’API Autorisations.
En tant qu’administrateur d’espace de travail, connectez-vous à votre espace de travail Azure Databricks.
Dans la barre latérale, cliquez sur Alertes.
Cliquez sur une alerte.
Cliquez sur le bouton Partager en haut à droite pour ouvrir la boîte de dialogue Partage.
Cliquez sur l’icône d’engrenage en haut à droite, puis cliquez sur Affecter un nouveau propriétaire.
Sélectionnez l’utilisateur auquel attribuer la propriété.
Cliquez sur Confirmer.