Configurer des alertes pour les appels de workflow ayant échoué

Ce document explique comment configurer des alertes basées sur les journaux pour les appels de workflow Dataform ayant échoué à l'aide de l'explorateur de journaux.

Vous pouvez utiliser Cloud Monitoring pour observer les tendances dans les journaux Cloud Logging concernant les appels de workflow Dataform et vous avertir lorsque les conditions que vous décrivez se produisent.

Chaque appel de workflow Dataform est consigné à l'aide de Cloud Logging. Logging est automatiquement activé pour les appels de workflow Dataform, ce qui peut entraîner des frais de facturation Cloud Logging. Pour en savoir plus, consultez les tarifs de Dataform.

Pour recevoir des alertes en cas d'échec d'un appel de workflow Dataform, vous pouvez créer des alertes basées sur les journaux.

Vous pouvez créer des alertes basées sur les journaux à partir de la page Explorateur de journaux de la console Google Cloud ou à l'aide de l'API Monitoring. Ce guide explique comment créer des alertes basées sur les journaux pour les échecs d'appel du workflow Dataform à l'aide de l'explorateur de journaux.

Avant de commencer

Pour créer et gérer des alertes basées sur les journaux, assurez-vous que votre rôle Identity and Access Management inclut les autorisations décrites dans la section Autorisations pour les alertes basées sur les journaux.

Configurer des alertes basées sur les journaux en cas d'échec d'appels de workflow Dataform

Pour configurer des alertes basées sur les journaux en cas d'échec d'appels de workflow Dataform, procédez comme suit:

  1. Dans la console Google Cloud, sélectionnez Logging, puis Explorateur de journaux:

    Accéder à l'explorateur de journaux

  2. Dans le volet Requête, sélectionnez Afficher la requête et saisissez la requête suivante:

        resource.type="dataform.googleapis.com/Repository"
        jsonPayload.@type="type.googleapis.com/google.cloud.dataform.logging.v1.WorkflowInvocationCompletionLogEntry"
        jsonPayload.terminalState="FAILED"
     

    Cette requête vous avertit en cas d'échec des appels de workflow Dataform.

    1. Facultatif: Pour filtrer les appels de workflow ayant échoué par une configuration de version, ajoutez le code suivant à la requête:

      jsonPayload.releaseConfigId="RELEASE_CONFIGURATION_ID"
      
    2. Facultatif: Pour filtrer les appels de workflow ayant échoué par une configuration de workflow, ajoutez le code suivant à la requête:

      jsonPayload.workflowConfigId="WORKFLOW_CONFIGURATION_ID"
      

    La requête suivante vous alerte lorsqu'un appel de workflow Dataform lié à la configuration de version daily et à la configuration de workflow production échoue:

     resource.type="dataform.googleapis.com/Repository"
     jsonPayload.@type="type.googleapis.com/google.cloud.dataform.logging.v1.WorkflowInvocationCompletionLogEntry"
     jsonPayload.terminalState="FAILED"
     jsonPayload.releaseConfigId="daily"
     jsonPayload.workflowConfigId="production"
    
  3. Facultatif: Utilisez l'option Exécuter la requête dans le volet Résultats de la requête pour valider la requête.

  4. Dans l'en-tête du volet Résultats de la requête, cliquez sur Créer une alerte. Lorsque la fenêtre est étroite, l'option Créer une alerte peut apparaître dans le menu Actions à la place.

  5. Dans le volet Détails de l'alerte, attribuez un nom et une description à l'alerte :

    1. Saisissez un nom pour l'alerte dans le champ Nom de l'alerte. Par exemple : "Dataform: workflow failed".

    2. Saisissez une description pour cette alerte. Vous pouvez également inclure des informations susceptibles d'aider le destinataire d'une notification à diagnostiquer le problème. La chaîne suivante résume le motif de l'alerte:

      Log-based alert in project ${project} detected a failed Dataform workflow.
      

      Pour obtenir des informations sur la mise en forme et la personnalisation du contenu de ce champ, consultez la section Utiliser Markdown et les variables dans les modèles de documentation.

  6. Pour passer à l'étape suivante, cliquez sur Suivant.

  7. Dans le volet Sélectionner les journaux à inclure dans l'alerte, vérifiez la requête et les résultats en cliquant sur Prévisualiser les journaux.

    Nous vous recommandons de créer la requête dans le volet Requête de l'explorateur de journaux. La requête que vous avez créée dans le volet Requête s'affiche également dans ce volet.

    Si nécessaire, vous pouvez modifier la requête dans ce volet. Si vous modifiez la requête, vérifiez les résultats en cliquant sur Prévisualiser les journaux.

  8. Cliquez sur Suivant.

  9. Sélectionnez le délai minimal entre les notifications. Cette valeur vous permet de contrôler le nombre de notifications que vous recevez de cette alerte si elle est déclenchée plusieurs fois. Pour cet exemple, sélectionnez l'option 5 min.

  10. (Facultatif) Sélectionnez la durée de fermeture automatique de l'incident. Par défaut, le délai de fermeture automatique de l'incident est de sept jours.

  11. Cliquez sur Suivant.

  12. Sélectionnez un ou plusieurs canaux de notification pour votre alerte. Pour cet exemple, sélectionnez un canal de notification par e-mail.

    Si vous avez déjà configuré un canal de notification par e-mail, vous pouvez le sélectionner dans la liste. Si ce n'est pas le cas, cliquez sur Gérer les canaux de notification et ajoutez un canal de notification par e-mail. Pour plus d'informations sur la création de canaux de notification, consultez la page Gérer les canaux de notification.

  13. Cliquez sur Enregistrer.

Votre alerte basée sur les journaux est maintenant prête à être testée. Pour savoir comment tester l'alerte, consultez Tester l'exemple d'alerte basée sur les journaux.

Étapes suivantes