🚀 Quick Start - Tests dans Grafana¶
Guide rapide pour voir les résultats de tests dans Grafana.
🤖 Installation Automatique (2 minutes - RECOMMANDÉ)¶
Avec Ansible (tout automatique !)¶
cd /Users/loic/Developpement/ProbatioVault/Probatiovault-infra/ansible
# Exécuter le playbook dédié
ansible-playbook -i inventory/dev/hosts.ini setup_test_monitoring.yml
# Ou avec le playbook principal
ansible-playbook -i inventory/dev/hosts.ini playbook.yml --tags integration-tests
Ce qui est automatiquement fait : - ✅ Configuration du Node Exporter textfile collector - ✅ Copie de tous les scripts de tests sur le serveur - ✅ Installation du script export_metrics.sh - ✅ Import automatique du dashboard Grafana - ✅ Configuration complète en une commande !
C'est tout ! Passez directement à l'Étape "Utilisation"
⚡ Installation Manuelle (5 minutes)¶
Étape 1 : Configurer Node Exporter (1 min)¶
ssh ubuntu@51.68.126.160
# Créer le répertoire
sudo mkdir -p /var/lib/node_exporter/textfile_collector
sudo chown node_exporter:node_exporter /var/lib/node_exporter/textfile_collector
sudo chmod 755 /var/lib/node_exporter/textfile_collector
# Modifier Node Exporter
sudo sed -i 's|ExecStart=/usr/local/bin/node_exporter|ExecStart=/usr/local/bin/node_exporter --collector.textfile.directory=/var/lib/node_exporter/textfile_collector|' /etc/systemd/system/node_exporter.service
# Redémarrer
sudo systemctl daemon-reload
sudo systemctl restart node_exporter
Étape 2 : Copier le script d'export (30 sec)¶
# Depuis votre machine locale
cd /Users/loic/Developpement/ProbatioVault/Probatiovault-infra
# Copier le script
scp ansible/tests/export_metrics.sh ubuntu@51.68.126.160:/tmp/
ssh ubuntu@51.68.126.160 'sudo mv /tmp/export_metrics.sh /usr/local/bin/export_test_metrics.sh && sudo chmod +x /usr/local/bin/export_test_metrics.sh'
Étape 3 : Exécuter les tests (2 min)¶
ssh ubuntu@51.68.126.160
# Aller dans le répertoire des tests
cd /path/to/ansible/tests
# Exécuter les tests (ils exporteront automatiquement les métriques)
sudo bash run_all_tests.sh
Vous verrez :
Étape 4 : Vérifier les métriques (30 sec)¶
# Vérifier Node Exporter
curl http://localhost:9100/metrics | grep integration_test_passed
# Vérifier Prometheus
curl -s 'http://localhost:9090/api/v1/query?query=integration_test_passed' | jq .
Sortie attendue :
{
"status": "success",
"data": {
"result": [
{
"metric": {"suite": "api_deployment"},
"value": [1705140000, "15"]
}
]
}
}
Étape 5 : Importer le dashboard Grafana (1 min)¶
Option A : Automatique avec Ansible (recommandé)¶
cd /Users/loic/Developpement/ProbatioVault/Probatiovault-infra/ansible
# Import automatique du dashboard
ansible-playbook -i inventory/dev/hosts.ini setup_test_monitoring.yml
Le dashboard est automatiquement importé dans Grafana !
Option B : Via l'interface Grafana¶
- Ouvrir Grafana : http://51.68.126.160:3001
- Login :
admin/your_password - Cliquer sur + → Import dashboard
- Copier le contenu de
ansible/roles/monitoring/files/grafana_dashboard_integration_tests.json - Load → Import
Option C : Via API¶
# Depuis votre machine locale
cd /Users/loic/Developpement/ProbatioVault/Probatiovault-infra
GRAFANA_URL="http://51.68.126.160:3001"
GRAFANA_USER="admin"
GRAFANA_PASS="your_password"
curl -X POST \
-H "Content-Type: application/json" \
-u "$GRAFANA_USER:$GRAFANA_PASS" \
-d @ansible/roles/monitoring/files/grafana_dashboard_integration_tests.json \
"$GRAFANA_URL/api/dashboards/db"
✅ Vérification¶
Dashboard accessible¶
URL : http://51.68.126.160:3001/d/integration-tests
Vous devriez voir : - ✅ Success Rate : 98% (gauge vert) - ✅ Tests Passed : 163 - ✅ Tests Failed : 2 - ✅ Last Run : X minutes ago - ✅ Graphiques avec données
🔄 Utilisation quotidienne¶
Exécuter les tests et voir les résultats¶
# 1. Exécuter les tests
ssh ubuntu@51.68.126.160
cd /path/to/tests
sudo bash run_all_tests.sh
# 2. Attendre 30 secondes (scrape interval Prometheus)
sleep 30
# 3. Consulter Grafana
# http://51.68.126.160:3001/d/integration-tests
Les métriques sont automatiquement exportées et mises à jour dans Grafana !
🐛 Problèmes courants¶
"No data" dans Grafana¶
# Vérifier 1 : Métriques dans Node Exporter
curl http://localhost:9100/metrics | grep integration_test
# Si vide, réexécuter les tests
sudo bash run_all_tests.sh
# Vérifier 2 : Prometheus scrape Node Exporter
curl 'http://localhost:9090/api/v1/targets' | jq '.data.activeTargets[] | select(.labels.job=="node")'
# Vérifier 3 : Time range dans Grafana
# Changer le time range à "Last 24 hours" dans le dashboard
Métriques pas à jour¶
# Attendre le scrape interval (30s par défaut)
sleep 30
# Forcer un refresh dans Grafana (cliquer sur le bouton refresh)
Permission denied¶
sudo chown -R node_exporter:node_exporter /var/lib/node_exporter
sudo chmod 755 /var/lib/node_exporter/textfile_collector
📊 Voir les métriques¶
Dans Prometheus¶
URL : http://51.68.126.160:9090
Requêtes à tester : - integration_test_passed - integration_test_success_rate{suite="all_tests"} - sum(integration_test_failed)
Dans Grafana¶
URL : http://51.68.126.160:3001/d/integration-tests
Dashboard complet avec : - Gauges - Graphiques - Tableaux - Alertes
🔔 Bonus : Configurer une alerte¶
Dans Grafana¶
- Ouvrir le dashboard
- Éditer le panneau "Success Rate"
- Alert tab → Create alert
- Condition :
- Message : "Test success rate dropped below 95%!"
- Contact point : Email / Slack
- Save
Vous serez notifié si le taux de succès descend sous 95% !
📚 Documentation complète¶
Pour aller plus loin : - docs/GRAFANA_TEST_MONITORING.md - Guide complet - Tests d'intégration - Tous les tests - GRAFANA_INTEGRATION_SUMMARY.md - Vue d'ensemble
✅ Checklist finale¶
- Node Exporter configuré avec textfile collector
- Script export_metrics.sh copié
- Tests exécutés avec export automatique
- Métriques visibles dans Node Exporter
- Métriques dans Prometheus
- Dashboard Grafana importé
- Dashboard affiche des données
- Alertes configurées (optionnel)
Temps total : ~5 minutes Résultat : Dashboard Grafana fonctionnel avec métriques de tests en temps réel !