Partager via


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’Icône Espace de travail 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 Icône Alertes 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 ou UNKNOWN.
  • 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 indique OK.
    • 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.

  1. Effectuez l’une des opérations suivantes :

    • Cliquez sur Nouvelle icône Nouveau dans la barre latérale, puis sélectionnez Alerte.
    • Cliquez sur Icône Alertes Alertes dans la barre latérale, puis cliquez sur le bouton + Nouvelle alerte.
    • Cliquez sur Icône Espace de travail Espace de travail dans la barre latérale, puis cliquez sur + Créer une alerte.
    • Cliquez sur le menu kebab menu Kebab dans le coin supérieur droit d’une requête enregistrée, puis sur + Créer une alerte.
  2. Dans le champ Requête, recherchez une requête cible.

    Requête cible

    Pour alerter sur plusieurs colonnes, vous devez modifier votre requête. Consultez Agrégations d’alertes.

  3. 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.

      Agrégations d’alertes

    • 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.

    Conditions de déclenchement

  4. 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.

  5. 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 de TRIGGERED à OK. Les paramètres de planification affectent le nombre de notifications que vous recevez si l’état reste TRIGGERED d’une exécution à la suivante. Pour plus d’informations, consultez Fréquence de notification.

  6. 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.
      1. 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}}.

      2. 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>)
      3. 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.

      4. Cliquez sur le bouton Save Changes (Enregistrer les modifications).

  7. Cliquez sur Create Alert (Créer une alerte).

  8. 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.
  9. Cliquez sur l’onglet Destination dans la boîte de dialogue Ajouter une planification.

    Onglet Destinations dans la boîte de dialogue des paramètres

    • 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.

  10. Cliquez sur Créer. Les détails de la notification et de votre alerte enregistrée apparaissent à l’écran.

    Alerte enregistrée

  11. Partagez la planification.

    • À droite de la planification répertoriée, choisissez le menu kebab 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.

  12. Partagez l’alerte.

    • Cliquez sur Bouton Partager 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.

  1. Dans la barre latérale, cliquez sur Alertes.

  2. Cliquez sur une alerte.

  3. Cliquez sur le bouton Bouton Partager en haut à droite pour ouvrir la boîte de dialogue Partager.

    Gérer les autorisations d’alerte

  4. Recherchez et sélectionnez les groupes et les utilisateurs, et attribuez-leur un niveau d’autorisation.

  5. 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.

  1. En tant qu’administrateur d’espace de travail, connectez-vous à votre espace de travail Azure Databricks.

  2. Dans la barre latérale, cliquez sur Alertes.

  3. Cliquez sur une alerte.

  4. Cliquez sur le bouton Partager en haut à droite pour ouvrir la boîte de dialogue Partage.

  5. Cliquez sur l’icône d’engrenage en haut à droite, puis cliquez sur Affecter un nouveau propriétaire.

    Affecter un nouveau propriétaire

  6. Sélectionnez l’utilisateur auquel attribuer la propriété.

  7. Cliquez sur Confirmer.