Configurer des alertes avec des requêtes programmées

Ce document explique comment configurer une alerte à l'aide d'une requête programmée BigQuery. Cette approche est compatible avec les cas d'utilisation personnalisés définis par la logique de requête.

Avant de commencer

Avant d'utiliser Cloud Monitoring, assurez-vous de disposer des éléments suivants :

  • Compte Cloud Billing
  • Projet BigQuery avec facturation activée

Pour vérifier la présence de ces deux éléments, suivez le guide de démarrage rapide sur l'utilisation de la console Trusted Cloud .

Créer une requête SQL

Créez et exécutez une requête SQL dans BigQuery qui génère le résultat de votre alerte. La requête capture la logique que vous souhaitez surveiller. Pour en savoir plus, consultez Exécuter une requête.

Configurer une requête programmée

Vous pouvez programmer des requêtes à exécuter de façon récurrente, toutes les 15 minutes ou tous les quelques mois. Vous pouvez écrire n'importe quelle requête sur vos buckets de journaux. Pour en savoir plus, consultez Planifier des requêtes.

Comprendre la métrique "Nombre de lignes"

Les requêtes programmées créent automatiquement une métrique dans Cloud Monitoring. Cette métrique enregistre le nombre de lignes renvoyées par la requête SQL lors de sa dernière évaluation. Vous pouvez créer une règle d'alerte qui surveille cette métrique de nombre de lignes dans Monitoring.

La métrique suivante est un indicateur qui contient le nombre de lignes le plus récent d'une requête planifiée :

bigquerydatatransfer.googleapis.com/transfer_config/last_execution_job_rows

Toutes les requêtes planifiées écrivent leur nombre de lignes dans cette métrique, en utilisant différents libellés. Vous avez besoin du libellé config_id lorsque vous définissez une règle d'alerte. Pour trouver le libellé config_id, procédez comme suit :

  1. Dans la console Trusted Cloud , accédez à la page Requêtes programmées :

    Accéder aux requêtes programmées

  2. Cliquez sur la requête programmée pour laquelle vous souhaitez créer une alerte.

  3. Accédez à l'onglet Détails.

  4. Vérifiez la dernière chaîne dans Nom de la ressource, comme indiqué dans la capture d'écran suivante :

    config_id dans le nom de la ressource.

En cas de problème avec la requête planifiée, un message d'erreur s'affiche dans l'onglet Historique des exécutions de votre requête planifiée.

Surveiller les requêtes programmées

Surveillez les requêtes programmées pour vous assurer qu'elles s'exécutent correctement :

Créer une règle d'alerte

Utilisez une alerte de seuil de métrique pour détecter quand le nombre de lignes renvoyées par la requête planifiée diffère d'un seuil.

Pour configurer une alerte sur le nombre de lignes renvoyées par une requête programmée, procédez comme suit :

  1. Dans la console Trusted Cloud , accédez à la page  Alertes :

    Accéder à l'interface des alertes

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Cliquez sur Créer une règle.

  3. Sélectionnez la métrique "Nombre de lignes" pour la requête programmée. Dans le menu Sélectionner une métrique, cliquez sur Configuration du service de transfert de données BigQuery > Transfer_config > Nombre de lignes de la dernière tâche exécutée.

  4. Dans Ajouter des filtres, cliquez sur Ajouter un filtre.

  5. Dans le menu Filtre, sélectionnez config_id.

  6. Dans le menu Valeur, sélectionnez le config_id de la requête planifiée pour laquelle vous souhaitez créer une alerte :

    Définissez le filtre config_id.

    Si vous ne définissez pas de filtre, votre alerte teste la sortie de chaque requête planifiée. Pour trouver le config_id de votre requête programmée, consultez Comprendre la métrique "Nombre de lignes".

  7. Conservez les paramètres par défaut de Transformer les données, puis cliquez sur Suivant.

  8. Pour Types de conditions, sélectionnez Seuil.

  9. Sélectionnez la condition de votre choix. Par exemple, pour déclencher une alerte lorsque la requête renvoie des lignes, définissez la condition suivante :

    1. Pour Déclencheur d'alerte, sélectionnez À chaque infraction de série temporelle.
    2. Pour Position du seuil, sélectionnez Au-dessus du seuil.
    3. Dans Valeur de seuil, saisissez 0.
  10. Conservez les options avancées par défaut, puis cliquez sur Suivant.

  11. Facultatif : Pour configurer les notifications de votre alerte, cliquez sur le bouton Utiliser le canal de notification, puis définissez les canaux et l'objet de vos notifications. Vous pouvez également configurer des notifications pour la clôture des incidents.

    Si vous ne souhaitez pas recevoir de notifications, désélectionnez l'option Utiliser le canal de notification.

  12. Facultatif : Si vous avez de nombreuses règles d'alerte, vous pouvez annoter des libellés pour indiquer qu'elles sont issues de requêtes planifiées.

  13. Facultatif : Dans le champ Documentation, vous pouvez ajouter des liens qui aident à interpréter l'alerte. Par exemple, vous pouvez ajouter un lien vers la page Explorateur de journaux avec une requête similaire, afin d'explorer les données qui ont déclenché l'alerte. Vous pouvez également créer un lien vers la page d'informations de la requête de planification spécifique.

  14. Dans Nom de la règle d'alerte, saisissez un nom pour votre alerte.

  15. Cliquez sur Créer une règle.

Limites

Les règles d'alerte pour les requêtes planifiées sont soumises aux limites suivantes :

  • La fréquence d'exécution des requêtes planifiées et le délai d'ingestion ont un impact sur le temps total entre l'émission du journal et l'alerte. Par exemple, si votre requête s'exécute toutes les 30 minutes et que vous ajoutez un délai de 15 minutes pour le délai d'ingestion, votre alerte se déclenche environ 15 minutes après l'émission d'une entrée de journal non conforme. Dans certains cas, cela peut prendre jusqu'à 45 minutes.
  • La configuration entre une requête planifiée et une règle d'alerte n'est pas associée ni synchronisée. Si vous modifiez la configuration à un seul endroit, vous risquez de rompre la relation qui permet à la fonctionnalité d'alerte de fonctionner.

Étapes suivantes