Repository navigation
feat(infra): add monitoring module with alert policies (D105, D106, D109) - #82
Merged
Merged
Conversation
3 resources: 1 email notification channel (D106) + 2 alert policies on failed_executions for datatalent-ingestion and datatalent-dbt (D105). Alert on Cloud Scheduler abandoned — D109 amends D105.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contexte
Implémente le monitoring de production des Cloud Run Jobs
datatalent-ingestionet
datatalent-dbt(D105, D106). Couvre l'angle mort critique identifié ausortir de S9 : pipeline qui plante silencieusement → dashboard Looker Studio
qui affiche des marts stales sans signal visible.
US13 (création concomitante D105/D106). T13.1, T13.3, T13.4, T13.5 closes.
T13.2 (Discord) écartée par D106.
Décisions techniques
run.googleapis.com/job/completed_execution_countfiltréeresult="failed"evaluation_missing_dataEVALUATION_MISSING_DATA_INACTIVEduration60sevaluation_missing_data(l'API refuse0sdans ce cas)Changements
infra/modules/monitoring/{main,variables,outputs}.tf(création) — 1 notification channel + 2 alert policies, 4 variables exposées (project_id,notification_email,ingestion_job_name,dbt_job_name), 1 output (notification_channel_id).infra/main.tf— câblage du module aprèsmodule.cloud_run_dbt+ ajout demonitoring.googleapis.comà la liste des APIs activées.Incident notable durant l'apply
L'alerte initialement prévue par D105 sur l'échec du Cloud Scheduler
datatalent-ingestion-schedulern'est pas implémentable en Niveau 1 :la métrique
cloudscheduler.googleapis.com/job/attempt_countsupposéen'existe pas (Cloud Scheduler s'observe via Cloud Logging, pas via métriques
natives). Décision amendée en D109 : abandon de l'alerte côté Niveau 1,
report en Niveau 2 (log-based metric) Bloc 2. Mitigation humaine intermédiaire
(check console hebdo) tracée pour éviter la dérive silencieuse.
Voir
notes-projet.mdD109 pour le détail doctrinal et la procédure debascule future.
Validation
terraform planzéro diff post-apply (D31)Ressources créées côté GCP
Démo d'incident end-to-end (T13.5)
Méthode : override
command=/bin/falsesurdatatalent-dbtviagcloud,puis
gcloud run jobs execute. Revert viaterraform apply(le champcommandn'est pas danslifecycle.ignore_changes, contrairement àimage).Mail d'alerte reçu sur
datatalent-alerts@googlegroups.com~4 min aprèsl'échec de l'exécution. Chaîne complète validée : failed execution →
métrique Monarch → condition_threshold → notification channel → Google
Groups → Gmail.
terraform planpost-revert : zéro diff confirmé.Décisions liées
Refs : T13.1, T13.3, T13.4, T13.5.