refactor(adr-024): utiliser Telegram au lieu de Slack/Discord pour alerting
Remplacement de tous les canaux Slack/Discord par Telegram Bot : - Table stack technique : Webhook Slack/Discord → Telegram Bot - Diagramme Mermaid : mise à jour nodes et connexions - Alternatives considérées : ligne tableau mise à jour - Conséquences : mentions Slack/Discord → Telegram - Alerting rules : Slack + Email → Telegram + Email Justification : - Coût : 0€ (identique) - Disponibilité : temps réel (identique) - Intrusivité : moyenne (identique) - Avantage : API Telegram plus simple et plus flexible INCONSISTENCIES.md mis à jour en conséquence. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -226,7 +226,7 @@ Contenu suggéré :
|
|||||||
- SLA 2h/24h/72h selon priorité
|
- SLA 2h/24h/72h selon priorité
|
||||||
7. **✅ FAIT** : Créer **ADR-024 : Monitoring et Observabilité**
|
7. **✅ FAIT** : Créer **ADR-024 : Monitoring et Observabilité**
|
||||||
- Prometheus + Grafana + Loki (self-hosted)
|
- Prometheus + Grafana + Loki (self-hosted)
|
||||||
- Alerting : Email (Brevo) + Webhook (Slack/Discord)
|
- Alerting : Email (Brevo) + Telegram Bot
|
||||||
- Backup PostgreSQL : WAL-E continuous (RTO 1h, RPO 15min)
|
- Backup PostgreSQL : WAL-E continuous (RTO 1h, RPO 15min)
|
||||||
- Runbooks incidents + dashboards métriques
|
- Runbooks incidents + dashboards métriques
|
||||||
8. **✅ FAIT** : Créer **ADR-025 : Secrets et Sécurité**
|
8. **✅ FAIT** : Créer **ADR-025 : Secrets et Sécurité**
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ Stack **Prometheus + Grafana + Loki** self-hosted avec alerting multi-canal.
|
|||||||
| **Logs** | Grafana Loki | AGPL-3.0 | "Prometheus pour logs", compression efficace |
|
| **Logs** | Grafana Loki | AGPL-3.0 | "Prometheus pour logs", compression efficace |
|
||||||
| **Tracing** | Tempo (optionnel Phase 2) | AGPL-3.0 | Traces distribuées, compatible OpenTelemetry |
|
| **Tracing** | Tempo (optionnel Phase 2) | AGPL-3.0 | Traces distribuées, compatible OpenTelemetry |
|
||||||
| **Alerting** | Alertmanager | Apache-2.0 | Grouping, silencing, routing multi-canal |
|
| **Alerting** | Alertmanager | Apache-2.0 | Grouping, silencing, routing multi-canal |
|
||||||
| **Canaux alerts** | Email (Brevo) + Webhook (Slack/Discord) | - | Multi-canal, pas de coût SMS |
|
| **Canaux alerts** | Email (Brevo) + Telegram Bot | - | Multi-canal, pas de coût SMS |
|
||||||
| **Uptime monitoring** | Uptime Kuma | MIT | Self-hosted, SSL checks, incidents page |
|
| **Uptime monitoring** | Uptime Kuma | MIT | Self-hosted, SSL checks, incidents page |
|
||||||
|
|
||||||
### Architecture
|
### Architecture
|
||||||
@@ -50,7 +50,7 @@ graph TB
|
|||||||
|
|
||||||
subgraph Notifications["Alerting"]
|
subgraph Notifications["Alerting"]
|
||||||
Email["Email (Brevo)"]
|
Email["Email (Brevo)"]
|
||||||
Slack["Webhook Slack/Discord"]
|
Telegram["Telegram Bot"]
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph Storage["Stockage"]
|
subgraph Storage["Stockage"]
|
||||||
@@ -70,7 +70,7 @@ graph TB
|
|||||||
Prom --> Alert
|
Prom --> Alert
|
||||||
|
|
||||||
Alert --> Email
|
Alert --> Email
|
||||||
Alert --> Slack
|
Alert --> Telegram
|
||||||
|
|
||||||
Uptime -.->|external HTTP checks| API
|
Uptime -.->|external HTTP checks| API
|
||||||
Uptime --> Alert
|
Uptime --> Alert
|
||||||
@@ -86,7 +86,7 @@ graph TB
|
|||||||
|
|
||||||
class Services,API,DB,Redis,Zitadel serviceStyle
|
class Services,API,DB,Redis,Zitadel serviceStyle
|
||||||
class Monitoring,Prom,Grafana,Loki,Alert,Uptime monitoringStyle
|
class Monitoring,Prom,Grafana,Loki,Alert,Uptime monitoringStyle
|
||||||
class Notifications,Email,Slack notifStyle
|
class Notifications,Email,Telegram notifStyle
|
||||||
class Storage,PromStorage,LokiStorage,Backups storageStyle
|
class Storage,PromStorage,LokiStorage,Backups storageStyle
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -124,7 +124,7 @@ graph TB
|
|||||||
| Canal | Coût | Disponibilité | Intrusivité | Verdict |
|
| Canal | Coût | Disponibilité | Intrusivité | Verdict |
|
||||||
|-------|------|---------------|-------------|---------|
|
|-------|------|---------------|-------------|---------|
|
||||||
| **Email (Brevo)** | **0€ (300/j)** | Asynchrone | ⭐ Basse | ✅ Standard |
|
| **Email (Brevo)** | **0€ (300/j)** | Asynchrone | ⭐ Basse | ✅ Standard |
|
||||||
| **Webhook Slack/Discord** | **0€** | Temps réel | ⭐⭐ Moyenne | ✅ On-call |
|
| **Telegram Bot** | **0€** | Temps réel | ⭐⭐ Moyenne | ✅ On-call |
|
||||||
| SMS (Twilio) | 0.04€/SMS | Immédiat | ⭐⭐⭐ Haute | ⚠️ Phase 2 (critique) |
|
| SMS (Twilio) | 0.04€/SMS | Immédiat | ⭐⭐⭐ Haute | ⚠️ Phase 2 (critique) |
|
||||||
| PagerDuty | 21$/user/mois | Immédiat + escalation | ⭐⭐⭐ Haute | ❌ Coût |
|
| PagerDuty | 21$/user/mois | Immédiat + escalation | ⭐⭐⭐ Haute | ❌ Coût |
|
||||||
| OpsGenie | 29$/user/mois | Immédiat + escalation | ⭐⭐⭐ Haute | ❌ Coût |
|
| OpsGenie | 29$/user/mois | Immédiat + escalation | ⭐⭐⭐ Haute | ❌ Coût |
|
||||||
@@ -168,7 +168,7 @@ graph TB
|
|||||||
|
|
||||||
- ✅ **Coût infrastructure** : 5-20€/mois (stockage S3 backups uniquement)
|
- ✅ **Coût infrastructure** : 5-20€/mois (stockage S3 backups uniquement)
|
||||||
- ✅ **Souveraineté** : 100% self-hosted OVH France
|
- ✅ **Souveraineté** : 100% self-hosted OVH France
|
||||||
- ✅ **Alerting multi-canal** : Email + Slack/Discord (extensible SMS Phase 2)
|
- ✅ **Alerting multi-canal** : Email + Telegram (extensible SMS Phase 2)
|
||||||
- ✅ **Observabilité complète** : métriques + logs + uptime externe
|
- ✅ **Observabilité complète** : métriques + logs + uptime externe
|
||||||
- ✅ **Conformité RGPD** : logs anonymisés, rétention 7-15j
|
- ✅ **Conformité RGPD** : logs anonymisés, rétention 7-15j
|
||||||
|
|
||||||
@@ -176,7 +176,7 @@ graph TB
|
|||||||
|
|
||||||
- ⚠️ **Maintenance** : Stack à gérer (mises à jour Prometheus, Grafana, Loki)
|
- ⚠️ **Maintenance** : Stack à gérer (mises à jour Prometheus, Grafana, Loki)
|
||||||
- ⚠️ **Stockage** : Prometheus TSDB consomme ~1-2 GB/mois @ 1000 RPS
|
- ⚠️ **Stockage** : Prometheus TSDB consomme ~1-2 GB/mois @ 1000 RPS
|
||||||
- ❌ **Pas d'on-call automatique** au MVP (Slack manual, SMS Phase 2)
|
- ❌ **Pas d'on-call automatique** au MVP (Telegram manual, SMS Phase 2)
|
||||||
- ❌ **Courbe d'apprentissage** : PromQL à maîtriser
|
- ❌ **Courbe d'apprentissage** : PromQL à maîtriser
|
||||||
|
|
||||||
### Dashboards Grafana
|
### Dashboards Grafana
|
||||||
@@ -202,7 +202,7 @@ graph TB
|
|||||||
|
|
||||||
### Alerting Rules
|
### Alerting Rules
|
||||||
|
|
||||||
**Alertes critiques** (Slack + Email immédiat) :
|
**Alertes critiques** (Telegram + Email immédiat) :
|
||||||
- **API Down** : Job API indisponible pendant >1 min → Notification immédiate
|
- **API Down** : Job API indisponible pendant >1 min → Notification immédiate
|
||||||
- **High Error Rate** : Taux erreurs 5xx >1% pendant >5 min → Notification immédiate
|
- **High Error Rate** : Taux erreurs 5xx >1% pendant >5 min → Notification immédiate
|
||||||
- **Database Down** : PostgreSQL indisponible pendant >1 min → Notification immédiate
|
- **Database Down** : PostgreSQL indisponible pendant >1 min → Notification immédiate
|
||||||
|
|||||||
Reference in New Issue
Block a user