Ce document vous explique comment :
- Surveillez les journaux d'exécution.
- Affichez les journaux Logging pour Dataform.
- Configurez des alertes pour les invocations de workflow ayant échoué.
Avant de commencer
Pour surveiller les journaux d'exécution, procédez comme suit:
Dans la console Google Cloud, accédez à la page Dataform page.
Sélectionnez ou créez un dépôt.
Sélectionnez ou créez un espace de travail de développement.
Déclenchez l'exécution au moins une fois.
Rôles requis
Pour obtenir les autorisations nécessaires pour afficher les journaux d'exécution, demandez à votre administrateur de vous accorder le rôle IAM Éditeur Dataform (roles/dataform.editor
) sur le dépôt workflowInvocations.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Le rôle IAM Lecteur de journaux (roles/logging.viewer
) vous donne un accès en lecture seule à toutes les fonctionnalités de Cloud Logging. Pour en savoir plus sur les autorisations et les rôles Identity and Access Management qui s'appliquent aux données Logging, consultez la page Contrôle des accès avec IAM.
Pour créer et gérer des alertes basées sur les journaux, assurez-vous que votre rôle IAM inclut les autorisations décrites dans la section Rôles requis pour créer et utiliser des règles d'alerte basées sur les journaux.
Surveiller les journaux d'exécution
Cette section explique comment afficher les journaux d'exécution dans Dataform.
Vous pouvez afficher les journaux de toutes les exécutions déclenchées dans un dépôt et les journaux des exécutions déclenchées dans un espace de travail au cours des dernières 24 heures.
Inspecter les journaux d'exécution du dépôt
Pour afficher les journaux de toutes les exécutions déclenchées dans un dépôt, procédez comme suit:
Dans la console Google Cloud, accédez à la page Dataform page.
Accédez à votre dépôt.
Cliquez sur Journaux d'exécution de workflow.
Pour afficher les détails d'une exécution, cliquez dessus.
Pour afficher les détails d'une action au cours de l'exécution, cliquez sur Afficher les détails.
Inspecter les journaux d'exécution de Workspace
Pour afficher les journaux des 1 000 exécutions les plus récentes déclenchées dans un espace de travail au cours des dernières 24 heures, procédez comme suit:
Dans la console Google Cloud, accédez à la page Dataform page.
Accédez à votre dépôt et sélectionnez votre espace de travail.
Dans votre espace de travail, cliquez sur Exécutions.
Pour afficher les détails d'une exécution, cliquez dessus.
Pour afficher les détails d'une action au cours de l'exécution, cliquez sur Afficher les détails.
Afficher les journaux de journalisation pour Dataform
Cette section explique comment afficher les journaux Cloud Logging pour les invocations de workflow Dataform.
Chaque appel de workflow Dataform est journalisé à l'aide de Logging. La journalisation est automatiquement activée pour les invocations de workflow Dataform, ce qui peut entraîner des frais de facturation pour la journalisation. Pour en savoir plus, consultez la page Tarifs de Dataform.
Afficher les journaux
Pour afficher les journaux, accédez à la page Explorateur de journaux.
Pour en savoir plus sur le filtrage des journaux de journalisation dans l'explorateur de journaux, consultez la page Afficher les journaux à l'aide de l'explorateur de journaux.
Les journaux Dataform sont indexés par le dépôt Dataform.
Format du journal
Dataform envoie des messages de journal d'appel de workflow au format suivant:
{
"insertId": "14ip1tza5",
"jsonPayload": {
"terminalState": "SUCCEEDED",
"workflowInvocationId": "1678383230-ac4ed48c-eb70-4555-b2b0-cda54d13edfa",
"@type": "type.googleapis.com/google.cloud.dataform.logging.v1.WorkflowInvocationCompletionLogEntry"
},
"resource": {
"type": "dataform.googleapis.com/Repository",
"labels": {
"repository_id": "repository-name-example",
"resource_container": "PROJECT_ID",
"location": "us-central1"
}
},
"timestamp": "2023-03-09T17:34:06.965981805Z",
"severity": "INFO",
"logName": "projects/project-name-example/logs/dataform.googleapis.com%2Fworkflow_invocation_completion",
"receiveTimestamp": "2023-03-09T17:34:07.362371980Z"
}
Contenu consigné
Les entrées de journal Dataform contiennent des informations utiles pour surveiller et déboguer vos appels de workflow.
Il s'agit des types d'informations suivants :
receiveTimestamp
release_config_id
repository_id
resource_container
workflow_invocation_id
workflow_config_id
severity
: il peut s'agir deINFO
,WARNING
ouERROR
.terminalState
: il peut s'agir deSUCCEEDED
,CANCELED
ouFAILED
.timestamp
@type
Configurer des métriques et des alertes avec Cloud Monitoring
Vous pouvez utiliser Monitoring pour observer les tendances dans vos journaux et vous avertir lorsque les conditions que vous décrivez apparaissent.
Pour fournir à Monitoring des données provenant de vos journaux, Logging vous offre les avantages suivants:
- Les métriques basées sur les journaux, que vous pouvez utiliser comme suit :
- Créer des règles d'alerte qui vous informent des modifications au fil du temps.
- Créer des graphiques qui affichent les modifications au fil du temps.
- Des alertes basées sur les journaux, qui vous avertissent chaque fois qu'un événement spécifique apparaît dans un journal.
Pour en savoir plus sur les métriques et les alertes basées sur les journaux, consultez la page Surveiller vos journaux.
Pour savoir comment configurer des alertes basées sur les journaux pour les invocations de workflow Dataform, consultez la section Configurer des alertes pour les invocations de workflow ayant échoué.
Configurer des alertes pour les invocations de workflow ayant échoué
Cette section explique comment configurer des alertes basées sur les journaux pour les invocations de workflow Dataform ayant échoué à l'aide de l'explorateur de journaux.
Vous pouvez utiliser la surveillance pour observer les tendances dans les journaux de journalisation pour les invocations de workflow Dataform et pour vous avertir lorsque les conditions que vous décrivez apparaissent.
Chaque appel de workflow Dataform est journalisé à l'aide de Logging. La journalisation est automatiquement activée pour les invocations de workflow Dataform, ce qui peut entraîner des frais de facturation pour la journalisation. Pour en savoir plus, consultez la page Tarifs de Dataform.
Pour recevoir des alertes lorsqu'une invocation de workflow Dataform échoue, 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 en utilisant l'API Monitoring. Cette section explique comment créer des alertes basées sur les journaux en cas d'échec de l'appel du workflow Dataform à l'aide de l'explorateur de journaux.
Pour configurer des alertes basées sur les journaux pour les invocations de workflow Dataform ayant échoué, procédez comme suit:
Dans la console Google Cloud, sélectionnez Logging, puis Explorateur de journaux.
Dans le volet Requête, sélectionnez Afficher la requête, puis 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 de tous les appels de workflow Dataform qui ont échoué.
Facultatif: Pour filtrer les invocations de workflow ayant échoué en fonction d'une configuration de version, ajoutez ce qui suit à la requête:
jsonPayload.releaseConfigId="RELEASE_CONFIGURATION_ID"
Remplacez
RELEASE_CONFIGURATION_ID
par l'ID de la configuration de la version.Facultatif: Pour filtrer les invocations de workflow ayant échoué en fonction d'une configuration de workflow, ajoutez ce qui suit à la requête:
jsonPayload.workflowConfigId="WORKFLOW_CONFIGURATION_ID"
Remplacez
WORKFLOW_CONFIGURATION_ID
par l'ID de la configuration du workflow.
La requête suivante vous avertit lorsqu'une invocation de workflow Dataform liée à la fois à la configuration de version
daily
et à la configuration de workflowproduction
é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"
Facultatif: Pour valider la requête, utilisez Exécuter la requête dans le volet Résultats de la requête.
Dans l'en-tête du volet Résultats de la requête, cliquez sur Créer une alerte. Lorsque votre fenêtre est étroite, l'option Créer une alerte peut s'afficher dans le menu Actions.
Dans le volet Détails de l'alerte, attribuez un nom et une description à l'alerte :
Saisissez un nom pour l'alerte dans le champ Nom de l'alerte. Exemple :
Dataform: workflow failure
.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 Annoter les notifications avec une documentation définie par l'utilisateur.
Pour passer à l'étape suivante, cliquez sur Suivant.
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.
Cliquez sur Suivant.
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.
(Facultatif) Sélectionnez la durée de fermeture automatique des incidents. Par défaut, la durée de fermeture automatique des incidents est définie sur sept jours.
Cliquez sur Suivant.
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 en savoir plus sur la création de canaux de notification, consultez la page Créer et gérer des canaux de notification.
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 de règle d'alerte basée sur les journaux.
Étape suivante
- Découvrez l'exécution des déclencheurs.
- Découvrez comment planifier des exécutions avec Workflows et Cloud Scheduler.
- Découvrez comment configurer des forçages de compilation avec l'API Dataform.
- En savoir plus sur les journaux d'audit Cloud et la surveillance
- En savoir plus sur les tarifs de la journalisation