Observabilité - Stack Grafana
Datadog facture à l'hôte. New Relic facture à l'ingestion. Les deux envoient vos métriques et vos logs aux États-Unis. France Nuage héberge une stack Grafana complète - Grafana, Prometheus, Loki, Alertmanager - entièrement managée. Vos données d'observabilité restent en France, et la facture reste lisible.
Pourquoi la Stack Grafana ?
Grafana est la plateforme de visualisation open source la plus utilisée au monde. Couplée à Prometheus pour les métriques et Loki pour les logs, elle forme une stack d'observabilité complète qui rivalise avec les solutions propriétaires.
- Open source : Grafana (Apache 2.0), Prometheus (Apache 2.0), Loki (AGPLv3). Code auditable, pas de boîte noire
- Métriques avec Prometheus : collecte, stockage et requêtes PromQL sur toutes vos métriques applicatives et infrastructure
- Logs avec Loki : agrégation de logs légère et efficace, pensée pour Kubernetes. Adieu la complexité d'un cluster Elasticsearch
- Alertes avec Alertmanager : routage intelligent des alertes vers Slack, email, PagerDuty ou OpsGenie
- Dashboards pré-configurés : monitoring Kubernetes prêt à l'emploi dès le déploiement
Comparatif
| Critère | France Nuage | Datadog | New Relic | Elastic Stack | Uptrace |
|---|---|---|---|---|---|
| Open source | Oui (Apache 2.0) | Non | Non | Partiellement (SSPL) | Oui (BSL) |
| Hébergement souverain | Oui (France) | Non (USA) | Non (USA) | Selon vous | Selon vous |
| Métriques | Prometheus (PromQL) | Propriétaire | Propriétaire | Elasticsearch | ClickHouse |
| Logs | Loki (LogQL) | Propriétaire | Propriétaire | Elasticsearch | ClickHouse |
| Alerting | Alertmanager | Propriétaire | Propriétaire | Watcher | Intégré |
| Dashboards custom | Illimités | Illimités | Illimités | Kibana | Intégrés |
| API REST | Oui | Oui | Oui | Oui | Oui |
| Coût prévisible | 30 EUR HT/mois | Par hôte + ingestion | Par Go ingéré | Serveur + temps | Abonnement |
| Coût ops | Zéro | Zéro | Zéro | Temps + serveur | Temps + serveur |
Concrètement
La facturation Datadog est notoirement imprévisible. Un pic de trafic un vendredi soir, et la facture du mois double. Avec France Nuage, le tarif est fixe : 30 EUR HT/mois pour toute la stack.
Prometheus et Loki utilisent des langages de requête ouverts (PromQL et LogQL). Pas de vendor lock-in sur le format de vos métriques ou de vos logs. Les dashboards Grafana s'exportent en JSON et se réimportent n'importe où.
Les données ne quittent pas la France. Pour les secteurs réglementés (santé, finance, secteur public), ce n'est pas un bonus - c'est une obligation.
Portabilité
- Export JSON de tous les dashboards via l'interface ou l'API REST
- Métriques au format Prometheus standard : compatible avec n'importe quelle instance Prometheus
- Logs au format standard : migrez vers n'importe quel collecteur
- Si vous quittez France Nuage, réinstallez Grafana + Prometheus + Loki sur votre propre cluster et réimportez vos dashboards
- Licences open source : le code reste libre, les projets ne peuvent pas devenir propriétaires
France Nuage vs auto-hébergement
Vous pourriez installer la stack Grafana vous-même. Voilà ce que ça implique concrètement :
| Aspect | Auto-hébergement | France Nuage |
|---|---|---|
| Rétention métriques | À configurer | 30 jours inclus |
| Rétention logs | À configurer | 15 jours inclus |
| Base Grafana | PostgreSQL à gérer | CNPG managé |
| Dashboards Kubernetes | À importer | Pré-configurés |
| Alertmanager | À configurer | Pré-configuré |
| Haute disponibilité | À votre charge | Garantie |
| Sauvegardes | À configurer | Automatiques |
| Mises à jour sécurité | À surveiller | Appliquées |
| NetworkPolicies | À configurer | Appliquées |
| Monitoring 24/7 | Ironique, non ? | Inclus |
Le point critique de l'auto-hébergement, c'est le monitoring du monitoring. Qui surveille Prometheus quand Prometheus tombe ? Chez France Nuage, la stack d'observabilité est elle-même supervisée par une boucle de monitoring indépendante.
Démarrage rapide
1. Déployer depuis la console
- Rendez-vous sur console.france-nuage.fr
- Créez votre compte ou connectez-vous
- Déployez la Stack Grafana depuis le catalogue de services
- Quelques minutes plus tard, Grafana, Prometheus, Loki et Alertmanager sont prêts
2. Accéder à Grafana
Une fois le déploiement terminé, accédez à votre instance Grafana via l'URL fournie dans la console. Les identifiants d'administration sont disponibles dans les détails du service.
3. Premiers dashboards
Des dashboards Kubernetes sont pré-configurés. Dès le déploiement, vous pouvez explorer :
- Kubernetes / Cluster : vue d'ensemble CPU, mémoire, réseau du cluster
- Kubernetes / Pods : consommation par pod, restarts, statuts
- Prometheus / Targets : état de santé des endpoints monitorés
- Loki / Logs : recherche et filtrage de vos logs applicatifs
Aller plus loin
Ajouter une source de données
Grafana supporte nativement de nombreuses sources de données en plus de Prometheus et Loki. Pour en ajouter une, rendez-vous dans les paramètres de Grafana :
- Allez dans Configuration > Data Sources
- Cliquez sur Add data source
- Choisissez parmi les sources disponibles : InfluxDB, PostgreSQL, MySQL, Elasticsearch, et bien d'autres
Créer un dashboard personnalisé
Pour créer un dashboard adapté à vos besoins :
- Cliquez sur + > New Dashboard
- Ajoutez un panneau avec Add visualization
- Sélectionnez votre source de données (Prometheus pour les métriques, Loki pour les logs)
- Écrivez votre requête PromQL ou LogQL
- Enregistrez
Un exemple de requête PromQL pour suivre le taux d'erreurs HTTP 5xx de vos services :
sum(rate(http_requests_total{status=~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))
Configurer les alertes
Alertmanager est pré-configuré. Pour créer une alerte, vous pouvez passer par l'interface Grafana :
- Ouvrez un panneau de dashboard existant
- Cliquez sur Alert > Create alert rule
- Définissez la condition (par exemple : CPU > 80% pendant 5 minutes)
- Configurez le canal de notification (Slack, email, PagerDuty, OpsGenie)
- Enregistrez
API REST Grafana
Tous les dashboards sont gérables via l'API REST. Voici comment exporter un dashboard :
# Récupérer un dashboard par son UID
curl -H "Authorization: Bearer VOTRE_TOKEN_API" \
"https://votre-instance.france-nuage.fr/api/dashboards/uid/MON_DASHBOARD_UID"
Et pour importer un dashboard depuis la communauté Grafana :
# Importer un dashboard JSON
curl -X POST \
-H "Authorization: Bearer VOTRE_TOKEN_API" \
-H "Content-Type: application/json" \
-d @dashboard.json \
"https://votre-instance.france-nuage.fr/api/dashboards/db"
Envoyer des logs applicatifs vers Loki
Pour envoyer les logs de vos applications vers Loki, utilisez Promtail ou le client HTTP natif. Voici un exemple avec la commande curl pour tester l'envoi :
# Envoyer un log de test vers Loki
curl -X POST \
-H "Content-Type: application/json" \
"https://votre-loki.france-nuage.fr/loki/api/v1/push" \
-d '{
"streams": [{
"stream": { "app": "mon-service", "env": "production" },
"values": [["'"$(date +%s)000000000"'", "Démarrage du service OK"]]
}]
}'
En production, Promtail (ou Grafana Agent) collecte automatiquement les logs de vos pods Kubernetes sans configuration manuelle.
Bonnes pratiques
- Utilisez des labels Prometheus cohérents (
app,env,team) pour faciliter les requêtes PromQL - Limitez la cardinalité des labels : trop de valeurs distinctes dégrade les performances de Prometheus
- Structurez vos logs en JSON pour exploiter pleinement LogQL dans Loki
- Créez des alertes sur les symptômes (latence, taux d'erreur) plutôt que sur les causes (CPU, mémoire)
- Exportez vos dashboards en JSON et versionnez-les dans Git
- Utilisez les dossiers Grafana pour organiser vos dashboards par équipe ou par service