Produit · Supervision applicative, depuis 2024
Onagre : savoir quand une application tombe, avant ses utilisateurs.
Monter une chaîne d'observabilité complète demande souvent plus de travail que l'application qu'elle doit surveiller. Onagre réduit ce coût d'entrée : on crée une sonde à partir d'un besoin, « surveiller une sauvegarde nocturne », « vérifier un certificat », et on est prévenu quand ça casse. Une plateforme multi-clients, dont je porte l'architecture.
Le point de départ
Onagre s'adresse aux équipes de développement, d'exploitation et produit qui veulent savoir que leurs applications fonctionnent, sans faire tourner une pile de supervision. Ce n'est pas de la supervision d'infrastructure : on surveille ce que voit l'utilisateur et ce dont l'application dépend. Sites et API, valeurs dans une réponse JSON ou XML, bases SQL, Redis, files de messages en échec, certificats, DNS, tâches planifiées qui ne se sont pas lancées.
Les choix d'architecture
Ce qui ne se voit pas sur le site du produit, et qui fait qu'il tient.
- Un agent simple, une plateforme qui décide
- L'agent exécute les vérifications et rend compte ; l'ordonnancement, les incidents et les notifications vivent côté plateforme. Ce choix est consigné dans une décision d'architecture écrite, comme vingt-trois autres.
- Aucun port entrant
- Pour surveiller l'intérieur d'un réseau, on installe un agent privé, en service système ou en conteneur Docker, sur Linux ou Windows. Il ouvre une seule connexion sortante chiffrée, un flux gRPC bidirectionnel permanent vers la plateforme. Ni VPN, ni règle de pare-feu entrante à négocier avec la sécurité.
- PostgreSQL, et pas grand-chose d'autre
- Pas de Redis, pas de base de séries temporelles dédiée : le métier, l'identité et l'ordonnancement reposent sur PostgreSQL, et l'historique des mesures est archivé en fichiers Parquet sur du stockage objet. Un produit qui promet de simplifier la supervision doit lui-même rester simple à exploiter.
- Mesurer avant d'affirmer
- Un banc de charge à 10 000 sondes a montré que l'ancien pipeline d'exécution perdait en silence environ 25 000 exécutions. Sur le même banc, le pipeline qui le remplace n'en perd aucune. Pour un outil de supervision, une vérification qui ne s'exécute pas sans le dire est le pire défaut possible.
- Les secrets de chaque client chiffrés à part
- Les variables et secrets utilisés par les sondes sont chiffrés en AES-GCM 256 bits, avec une clé propre à chaque organisation. Un seul outil a le droit d'appliquer les migrations de base, et la plateforme est hébergée en France.
- Environ 1 100 tests automatisés
- Répartis dans quatorze projets de tests. L'agent est livré pour quatre plateformes, et une application Android relaie les alertes.
Pile technique .NET 10 · ASP.NET Core · gRPC · Blazor · EF Core 10 · PostgreSQL · .NET MAUI · Scaleway · Cloudflare
Ce que ça change pour votre projet
Savoir ce que fait la production avant que le client ne le signale : c'est l'objectif de chaque mission d'observabilité. Onagre applique la même approche à l'échelle d'un produit : peu de briques, des décisions écrites, et des chiffres mesurés plutôt que supposés. Si votre exploitation découvre les pannes par le support, parlons-en.
Les autres produits
- Ma Commande La prise de commande pour les producteurs en vente directe.
- Ma Réservation La prise de rendez-vous pour les petits établissements.