feat(monitoring): dashboard Grafana + alertes prospection #7

Merged
arcodange merged 1 commits from arcodange/prospection-monitoring into main 2026-07-08 20:02:49 +02:00
Owner

Objet

Monitoring du pipeline prospection en réutilisant la stack existante (Prometheus + Grafana + Pushgateway, déjà déployés dans tools). Purement additif — n'altère aucun dashboard ni scrape existant. Consomme les métriques poussées par prospection#1 au Pushgateway (job=prospection, déjà scrapé avec honor_labels).

Contenu

grafana/values.yaml

  • Provider prospection (dossier Prospection) + dashboard « Prospection — pipeline BI missions » (uid: prospection-pipeline, 16 panneaux) inliné dans grafana.dashboards.prospection :
    • Vue d'ensemble : fraîcheur du dernier run, statut, durée, étapes en erreur, missions A qualifiées, meilleur score.
    • Collecte par étape : table (statut/items/durée du dernier run) + historique des items par étape.
    • Modèle & scoring : opportunités A/B, offres & entités, tailles du modèle.
    • Livraison & alertes : brief rendu / poussé Telegram / messages / taille vidéo + panneau des alertes prospection actives.
  • Inline json: (et non ConfigMap externe) délibérément : grafana est déployé via un HelmChart CRD (lib tool), l'inline passe par valuesContent et évite toute hypothèse de namespace pour un ConfigMap externe.

prometheus/values.yaml

  • Groupe d'alertes prospection dans serverFiles.alerting_rules.yml (était {}) : ProspectionRunStale (>25 h sans run), ProspectionRunFailed, ProspectionStepError, ProspectionNoOffers, ProspectionBriefNotSent.

⚠️ Livraison des alertes — non incluse (décision séparée)

Le cluster n'a aucune livraison d'alerte câblée : prometheus.server.alertmanagers est vide et l'Alertmanager n'a aucun receiver. Et telegram-gateway est entrant only (reçoit les webhooks de Telegram), il ne peut pas servir de puits d'alertes.

Donc ces règles s'évaluent et sont visibles (Prometheus /alerts + panneau Grafana), mais ne notifient pas encore. Câbler la notification (p. ex. telegram_configs natif d'Alertmanager avec un bot dédié) touche la config partagée + demande un secret → à décider ensemble (cf. description de la PR / discussion).

Validation

  • grafana/values.yaml : YAML OK, le JSON inliné re-parse (uid prospection-pipeline, 20 panneaux dont 16 data), provider bien enregistré.
  • prometheus/values.yaml : YAML OK, 5 règles bien formées, noms Prospection* (matchés par le panneau ALERTS).

🤖 Generated with Claude Code

## Objet Monitoring du pipeline **prospection** en réutilisant la stack existante (Prometheus + Grafana + Pushgateway, déjà déployés dans `tools`). **Purement additif** — n'altère aucun dashboard ni scrape existant. Consomme les métriques poussées par [prospection#1](https://gitea.arcodange.lab/arcodange-org/prospection/pulls/1) au Pushgateway (`job=prospection`, déjà scrapé avec `honor_labels`). ## Contenu ### `grafana/values.yaml` - Provider `prospection` (dossier *Prospection*) + dashboard **« Prospection — pipeline BI missions »** (`uid: prospection-pipeline`, 16 panneaux) inliné dans `grafana.dashboards.prospection` : - **Vue d'ensemble** : fraîcheur du dernier run, statut, durée, étapes en erreur, missions A qualifiées, meilleur score. - **Collecte par étape** : table (statut/items/durée du dernier run) + historique des items par étape. - **Modèle & scoring** : opportunités A/B, offres & entités, tailles du modèle. - **Livraison & alertes** : brief rendu / poussé Telegram / messages / taille vidéo + **panneau des alertes prospection actives**. - **Inline `json:`** (et non ConfigMap externe) délibérément : grafana est déployé via un `HelmChart` CRD (lib `tool`), l'inline passe par `valuesContent` et évite toute hypothèse de namespace pour un ConfigMap externe. ### `prometheus/values.yaml` - Groupe d'alertes `prospection` dans `serverFiles.alerting_rules.yml` (était `{}`) : `ProspectionRunStale` (>25 h sans run), `ProspectionRunFailed`, `ProspectionStepError`, `ProspectionNoOffers`, `ProspectionBriefNotSent`. ## ⚠️ Livraison des alertes — non incluse (décision séparée) Le cluster n'a **aucune livraison d'alerte câblée** : `prometheus.server.alertmanagers` est vide et l'Alertmanager n'a aucun receiver. Et `telegram-gateway` est **entrant only** (reçoit les webhooks *de* Telegram), il ne peut pas servir de puits d'alertes. Donc ces règles **s'évaluent et sont visibles** (Prometheus `/alerts` + panneau Grafana), mais ne **notifient pas** encore. Câbler la notification (p. ex. `telegram_configs` natif d'Alertmanager avec un bot dédié) touche la config partagée + demande un secret → à décider ensemble (cf. description de la PR / discussion). ## Validation - `grafana/values.yaml` : YAML OK, le JSON inliné re-parse (uid `prospection-pipeline`, 20 panneaux dont 16 data), provider bien enregistré. - `prometheus/values.yaml` : YAML OK, 5 règles bien formées, noms `Prospection*` (matchés par le panneau `ALERTS`). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
arcodange added 1 commit 2026-07-08 19:52:55 +02:00
feat(monitoring): dashboard Grafana + règles d'alerte prospection
Helm Charts / Detect changed charts (push) Successful in 22s
Helm Charts / Library charts tool (push) Has been skipped
Helm Charts / Application charts pgcat (push) Has been skipped
Helm Charts / Detect changed charts (pull_request) Successful in 21s
Helm Charts / Library charts tool (pull_request) Has been skipped
Helm Charts / Application charts pgcat (pull_request) Has been skipped
e6fca752a2
Consomme les métriques poussées par le pipeline prospection au Pushgateway
(job=prospection, déjà scrapé). Additif — n'affecte aucun dashboard existant.

- grafana : provider + dashboard « Prospection — pipeline BI missions » inliné
  (grafana.dashboards.prospection, json) — vue d'ensemble (fraîcheur/statut/durée/
  erreurs/missions/score), collecte par étape (table + historique), modèle de
  données (opportunités A/B, offres/entités), livraison (brief/Telegram) + panneau
  Alertes actives. Inline plutôt que ConfigMap externe : grafana est déployé via un
  HelmChart CRD (tool lib), l'inline évite toute hypothèse de namespace.
- prometheus : groupe d'alertes `prospection` (serverFiles.alerting_rules.yml) —
  RunStale (>25h), RunFailed, StepError, NoOffers, BriefNotSent.

NB : la livraison des alertes (Alertmanager → Telegram) n'est pas câblée dans le
cluster (server.alertmanagers vide, aucun receiver) ; les règles restent visibles
dans Prometheus /alerts + le dashboard. Câblage delivery = décision séparée.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
arcodange merged commit e9998e3b48 into main 2026-07-08 20:02:49 +02:00
arcodange deleted branch arcodange/prospection-monitoring 2026-07-08 20:02:50 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: arcodange-org/tools#7