Surveillance et observabilité
Le déploiement est livré avec une pile d'observabilité légère et à haute densité, afin que votre équipe d'exploitation dispose d'une visibilité complète sur la plateforme comme sur l'application.
La pile
| Domaine | Outil | Rôle |
|---|---|---|
| Métriques | vmagent → VictoriaMetrics | Collecte les points de terminaison de performance à travers les namespaces vers un magasin distribué (vmstorage, vminsert, vmselect). |
| Journaux | Vector → VictoriaLogs | Collecte stdout/stderr et les transmet pour une recherche structurée. |
| Tableaux de bord | Grafana | Se connecte à VictoriaMetrics et VictoriaLogs comme sources de données. |
Ce qu'il faut surveiller
- Santé de l'application — débit de requêtes, taux d'erreur et latence du frontend Cockpit et du backend API Rust.
- OpenBao — état de scellement, leadership Raft et débit des requêtes. Un quorum déverrouillé et sain est essentiel.
- PostgreSQL — latence de réplication, connexions et utilisation du disque sur le primaire et les réplicas.
- Redis — santé du cluster et événements de basculement maître/réplica.
- Plateforme — CPU/mémoire des nœuds, redémarrages de pods et capacité des PersistentVolume.
Alertes recommandées
| Alerte | Condition |
|---|---|
| OpenBao scellé | Un nœud OpenBao rapporte sealed = true |
| Latence de réplica PostgreSQL | Latence > 30 s pendant plus de 5 min |
| Boucle de crash de pod | Un pod DuoKey redémarre > 3 fois en 10 min |
| 5xx sur l'Ingress | Taux de 5xx > 1 % sur 5 min |
| PV presque plein | Un PersistentVolume > 85 % utilisé |
| Sauvegarde échouée | La sauvegarde planifiée Velero ne s'est pas terminée correctement |
Accéder aux tableaux de bord
Grafana est exposé via une route OpenShift dans le namespace duokey-observability :
oc get route grafana -n duokey-observability
Importez les tableaux de bord DuoKey inclus dans votre package de livraison, ou créez les vôtres sur la base des sources de données VictoriaMetrics/VictoriaLogs.