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).
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).
## 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)
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]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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é avechonor_labels).Contenu
grafana/values.yamlprospection(dossier Prospection) + dashboard « Prospection — pipeline BI missions » (uid: prospection-pipeline, 16 panneaux) inliné dansgrafana.dashboards.prospection:json:(et non ConfigMap externe) délibérément : grafana est déployé via unHelmChartCRD (libtool), l'inline passe parvaluesContentet évite toute hypothèse de namespace pour un ConfigMap externe.prometheus/values.yamlprospectiondansserverFiles.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.alertmanagersest vide et l'Alertmanager n'a aucun receiver. Ettelegram-gatewayest 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_configsnatif 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 (uidprospection-pipeline, 20 panneaux dont 16 data), provider bien enregistré.prometheus/values.yaml: YAML OK, 5 règles bien formées, nomsProspection*(matchés par le panneauALERTS).🤖 Generated with Claude Code