diff --git a/prometheus/values.yaml b/prometheus/values.yaml index 9b6a321..4586ce4 100644 --- a/prometheus/values.yaml +++ b/prometheus/values.yaml @@ -1121,9 +1121,9 @@ prometheus: &prometheus_config alerting_rules.yml: groups: # Pipeline prospection (métriques poussées au Pushgateway job=prospection en fin de - # run). NB : la LIVRAISON des alertes (Alertmanager → Telegram/…) n'est pas encore - # câblée dans ce cluster — ces règles s'évaluent et sont visibles dans Prometheus - # /alerts + le dashboard Grafana « Prospection » (panneau Alertes actives). + # run). Livraison : Alertmanager → receiver telegram (chaîne testée live 2026-07-10, + # firing + resolved reçus). Visibles aussi dans Prometheus /alerts + le dashboard + # Grafana « Prospection » (panneau Alertes actives). - name: prospection rules: - alert: ProspectionRunStale @@ -1162,15 +1162,29 @@ prometheus: &prometheus_config annotations: summary: "Prospection — 0 offre (mission) collectée" description: "Aucune offre au dernier run : collecte France Travail / Free-Work potentiellement cassée." - - alert: ProspectionBriefNotSent - expr: prospection_brief_telegram_pushed == 0 + # Vidéo quotidienne : deux modes d'échec distincts, tous deux gardés contre le + # skip volontaire — metrics.py met brief_rendered=0 aussi quand l'étape est + # SAUTÉE (cadence/kill-switch), seul step_status distingue skip(2) d'erreur(0). + - alert: ProspectionBriefFailed + # PRODUCTION en échec : l'étape brief a tourné mais n'a pas rendu la vidéo. + expr: prospection_brief_rendered == 0 and on(job) prospection_step_status{step="brief"} != 2 for: 15m labels: - severity: info + severity: warning app: prospection annotations: - summary: "Prospection — brief non poussé sur Telegram" - description: "Le brief vidéo n'a pas été diffusé sur Telegram au dernier run." + summary: "Prospection — la vidéo du brief quotidien n'a pas été produite" + description: "L'étape brief a échoué au dernier run (rendu vidéo KO : TTS/ffmpeg/PIL ou erreur amont). Voir les logs du CronJob prospection." + - alert: ProspectionBriefNotSent + # LIVRAISON en échec : vidéo produite mais pas poussée sur Telegram. + expr: prospection_brief_telegram_pushed == 0 and prospection_brief_rendered == 1 + for: 15m + labels: + severity: warning + app: prospection + annotations: + summary: "Prospection — brief produit mais non poussé sur Telegram" + description: "La vidéo du brief a été rendue mais l'envoi Telegram a échoué (token/chat_id/API). Voir les logs du CronJob prospection." # groups: # - name: Instances # rules: