Supervision
Objectifs de service
Section intitulée « Objectifs de service »| Indicateur | Objectif |
|---|---|
| Latence d’un appel moteur | p99 < 30 ms (< 10 ms de calcul) |
| Débit de référence | 1 500 tickets/s en pointe (3 000 à 4 500 appels/s) |
| Perte de données maximale (RPO) | 1 minute |
| Remise en service (RTO) | 15 minutes |
Chaque service expose :
/healthz: le processus vit ;/readyz: prêt à servir (base joignable, offres chargées) ; renvoie 503 pendant un drainage ;/metrics: métriques Prometheus.
Moteur : port de management (47501 pour demo). Hub API : 47011. Worker : 47012. Keycloak : port de management 47031.
Métriques
Section intitulée « Métriques »Préfixes remizo_engine_* et remizo_hub_* : latence par route (histogrammes), offres appliquées, remises, points, coupons,
erreurs, taille de l’outbox, retard des consommateurs RabbitMQ, âge de la dernière sauvegarde réussie. Le moteur expose aussi un
résumé lisible sur GET /mgmt/v1/stats.
Tableaux de bord Grafana
Section intitulée « Tableaux de bord Grafana »Provisionnés automatiquement (http://localhost:47111 en local) :
- Moteur : latence p50/p95/p99, débit, offres appliquées, taux d’erreur, outbox ;
- Hub : requêtes, jobs, consommateurs ;
- PostgreSQL : réplication (rôle, retard), connexions, disque ;
- RabbitMQ et sauvegardes.
Disponibilité
Section intitulée « Disponibilité »Uptime Kuma surveille les /readyz des services et des moteurs de chaque workspace (http://localhost:47112).
Journaux
Section intitulée « Journaux »Format JSON : ts, level, msg, service, workspace, instance, requestId, traceId. Aucune donnée personnelle en
clair (e-mails et téléphones hachés). Les exceptions remontent dans Sentry ; les traces OpenTelemetry sont optionnelles.
Le hub évalue les règles (alerts.evaluate) et notifie les canaux configurés (Teams, e-mail, webhook) : moteur indisponible,
retard de réplication, sauvegarde échouée ou trop ancienne, test de restauration en échec, tâche planifiée en échec ou bloquée,
budget d’offre épuisé, connecteur en échec. La console affiche une vue globale de tous les workspaces avec voyants.
Tests de charge
Section intitulée « Tests de charge »Le scénario k6 deploy/k6/engine.js rejoue un mélange simulation / évaluation / validation à 1 500 tickets/s et vérifie le p99.