Skip to content

Commit d61a488

Browse files
committed
Create master-health-audit.md
1 parent 6309758 commit d61a488

1 file changed

Lines changed: 66 additions & 0 deletions

File tree

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# 🛡️ Manuel Opérationnel : Master Health Audit
2+
3+
**Composant :** `meta.v_master_health_audit`
4+
**Cible :** Architectes Système / DBA Marius
5+
**Objectif :** Surveillance de l'intégrité ECS/DOD et détection de la dette structurelle.
6+
7+
---
8+
9+
## I. Raison d'être (Le "Pourquoi")
10+
11+
Dans une architecture **ECS/DOD**, la performance ne dépend pas de la "puissance" du serveur, mais de l'organisation millimétrée des données en mémoire. Une simple modification (ajout d'index, mutation hors procédure scellée) peut briser les optimisations **HOT** ou augmenter le **padding CPU**.
12+
13+
La vue `v_master_health_audit` est le juge de paix. Elle fusionne les intentions de design (**AOT**) et les statistiques réelles (**Runtime**) pour garantir que le "Hardware Logiciel" ne dérive pas.
14+
15+
---
16+
17+
## II. Les 4 Piliers de l'Audit
18+
19+
Chaque composant est évalué sur quatre critères critiques, pondérés selon leur impact sur le système :
20+
21+
| Alerte | Impact | Signification |
22+
| :-------------------- | :----------- | :---------------------------------------------------------------------------------------- |
23+
| **`security_breach`** | **CRITIQUE** | Une mutation a eu lieu hors des procédures autorisées (Contournement du scellement). |
24+
| **`hot_blocker`** | **SÉVÈRE** | Un index a été posé sur une colonne mutable, bloquant les mises à jour _Heap Only Tuple_. |
25+
| **`density_drift`** | **MAJEUR** | L'alignement physique (padding) ou le bloat s'écarte du design DOD initial. |
26+
| **`brin_drift`** | **MODÉRÉ** | La corrélation physique des données s'est dégradée, rendant les index BRIN inefficaces. |
27+
28+
---
29+
30+
## III. Utilisation (Le "Comment")
31+
32+
### 1. Diagnostic de Routine
33+
34+
Pour obtenir l'état de santé global du moteur, lancez la requête suivante :
35+
36+
```sql
37+
SELECT component_name, health_score_pct, triage_status
38+
FROM meta.v_master_health_audit
39+
ORDER BY health_score_pct ASC;
40+
```
41+
42+
### 2. Interprétation du `health_score_pct`
43+
44+
- **100% (OPTIMAL) :** Le composant respecte parfaitement les ADR (Architecture Decision Records).
45+
- **< 100% (DEBT) :** Une dégradation est présente. Consultez les colonnes `*_alert` pour identifier la cause.
46+
- **0% (CRITICAL) :** Rupture d'intégrité sécuritaire ou blocage total des chemins de performance.
47+
48+
### 3. Protocole d'intervention
49+
50+
Si un score chute, suivez cet arbre de décision :
51+
52+
1. **Si `hot_blocker_alert` = TRUE :** Identifiez les index superflus sur les colonnes mutables. Supprimez l'index ou déplacez la colonne dans un composant immuable.
53+
2. **Si `density_drift_alert` = TRUE :** Vérifiez si un `VACUUM FULL` ou un `REINDEX` est nécessaire. Si le bloat persiste, le `fillfactor` est peut-être mal calibré.
54+
3. **Si `security_breach_alert` = TRUE :** Alerte de sécurité. Auditez les logs pour identifier quel rôle a modifié la donnée sans passer par l'interface de mutation officielle.
55+
56+
---
57+
58+
## IV. Gouvernance & Sécurité
59+
60+
- **Accès :** Seul le rôle `marius_admin` dispose des droits de lecture sur cette vue.
61+
- **Mise à jour :** Les métriques de densité et de performance sont rafraîchies selon les cycles de l' `ANALYZE` PostgreSQL.
62+
- **Intégration CI/CD :** Aucun déploiement en production ne doit être validé si le `health_score_pct` moyen est inférieur à **100%**.
63+
64+
---
65+
66+
> **Note aux intervenants :** Ce moteur d'audit n'est pas une simple télémétrie. C'est le garant que le code reste aligné sur le matériel. Respectez les alertes, ou le système perdra sa nature déterministe.

0 commit comments

Comments
 (0)