Aller au contenu principal

MODULE 11 - Spring Boot Actuator et Monitoring

Bienvenue au Module 11! 📊​

Votre application est en production... mais comment savoir si elle fonctionne correctement? Est-elle lente? Manque-t-elle de mémoire? Spring Boot Actuator vous donne les yeux pour surveiller votre application.


🎓 Objectifs d'Apprentissage​

À la fin de ce module, vous serez capable de:

  1. ✅ Configurer Spring Boot Actuator
  2. ✅ Utiliser les endpoints de monitoring
  3. ✅ Créer des health checks personnalisés
  4. ✅ Collecter et exposer des métriques
  5. ✅ Intégrer Prometheus et Grafana

📚 Prérequis​

Avant de commencer ce module, vous devez avoir:

  • ✅ Complété les Modules 1 à 10
  • ✅ Comprendre les bases de HTTP
  • ✅ Avoir Docker installé (pour Prometheus/Grafana)
  • ✅ Connaître les concepts de base du monitoring

🗺️ Plan du Module​

Partie Théorique (4 chapitres)​

Chapitre 1: Introduction à Actuator​

Durée: 30 minutes

Contenu:

  • Qu'est-ce qu'Actuator?
  • Installation et configuration
  • Sécurité des endpoints
  • Premiers pas

Pourquoi important? Comprendre l'outil de base


Chapitre 2: Les Endpoints​

Durée: 45 minutes

Contenu:

  • /health, /info, /env
  • /beans, /mappings, /conditions
  • /loggers, /heapdump, /threaddump
  • Endpoints personnalisés

Pourquoi important? Diagnostiquer votre application


Chapitre 3: Métriques avec Micrometer​

Durée: 1 heure

Contenu:

  • Micrometer et registres
  • Counter, Gauge, Timer, Summary
  • Métriques JVM, HTTP, Database
  • Métriques personnalisées
  • Tags et dimensions

Pourquoi important? Mesurer les performances


Chapitre 4: Health Checks​

Durée: 45 minutes

Contenu:

  • Health Indicators natifs
  • Health checks personnalisés
  • Groupes de santé
  • Liveness vs Readiness (Kubernetes)

Pourquoi important? Détecter les problèmes


Partie Pratique (2 TPs)​

TP11.1: Configuration Actuator​

Durée: 1h30

Objectif: Configurer Actuator pour une application

Vous allez:

  • Activer et sécuriser les endpoints
  • Créer des health checks personnalisés
  • Ajouter des informations application
  • Tester tous les endpoints

TP11.2: Monitoring avec Prometheus & Grafana​

Durée: 1h30

Objectif: Mettre en place un stack de monitoring complet

Vous allez:

  • Configurer Prometheus
  • Créer des dashboards Grafana
  • Ajouter des métriques métier
  • Configurer des alertes

📊 Durée Totale​

TypeDurée
Théorie3h (4 chapitres)
Pratique3h (2 TPs)
Total6h (~2 séances)

🎯 Ce Que Vous Allez Comprendre​

Avant ce Module​

// Application en production... 🤞
// "Ça marche?"
// "Je ne sais pas, les utilisateurs ne se plaignent pas..."
// "Combien de mémoire utilise-t-on?"
// "Aucune idée..."

Après ce Module​

# Vérifier la santé
curl http://localhost:8080/actuator/health
{
"status": "UP",
"components": {
"db": { "status": "UP" },
"diskSpace": { "status": "UP" },
"redis": { "status": "UP" }
}
}

# Voir les métriques
curl http://localhost:8080/actuator/metrics/http.server.requests
{
"name": "http.server.requests",
"measurements": [
{ "statistic": "COUNT", "value": 1523 },
{ "statistic": "TOTAL_TIME", "value": 45.2 }
]
}

Dashboard Grafana:

┌─────────────────────────────────────────────┐
│ 📊 Application Dashboard │
├──────────────┬──────────────┬───────────────┤
│ Requests/sec │ Latency P99 │ Error Rate │
│ 125 │ 45ms │ 0.1% │
├──────────────┴──────────────┴───────────────┤
│ [Graph: Request Rate over Time] │
│ [Graph: JVM Memory Usage] │
│ [Graph: Database Connection Pool] │
└─────────────────────────────────────────────┘

🚀 Pourquoi Ce Module Est Essentiel​

1. Visibilité en Production​

Sans Actuator:
- "L'application est lente" → Pourquoi?
- "Ça ne marche plus" → Depuis quand? Qu'est-ce qui a changé?
- "On a un problème de mémoire" → Vraiment?

Avec Actuator:
- Métriques temps réel
- Historique des performances
- Alertes proactives

2. DevOps et SRE​

Kubernetes Health Probes:
livenessProbe:
httpGet:
path: /actuator/health/liveness
readinessProbe:
httpGet:
path: /actuator/health/readiness

→ Redémarrage automatique si l'app est morte
→ Trafic coupé si l'app n'est pas prête

3. Compétence Recherchée​

Offres d'emploi:
✓ "Expérience avec Prometheus/Grafana"
✓ "Mise en place de monitoring"
✓ "Observabilité des applications"
✓ "Spring Boot Actuator"

🗺️ Progression dans la Formation​

Module 11 = Observer votre application en production!


📖 Comment Aborder Ce Module​

Progression Recommandée​

  1. Chapitre 1 → Installer et configurer Actuator
  2. Chapitre 2 → Explorer les endpoints
  3. TP11.1 → Pratiquer la configuration
  4. Chapitre 3-4 → Métriques et Health
  5. TP11.2 → Stack complète Prometheus/Grafana

✅ Auto-Évaluation​

Avant de commencer, répondez:

  1. Savez-vous ce qu'est Spring Boot Actuator? ☐ Oui ☐ Non
  2. Connaissez-vous Prometheus? ☐ Oui ☐ Non
  3. Avez-vous déjà utilisé Grafana? ☐ Oui ☐ Non
  4. Savez-vous ce qu'est un health check? ☐ Oui ☐ Non

Ce module vous rendra expert sur tous ces sujets!


🎯 Prochaine Étape​

Prêt à rendre votre application observable?

➡️ Commencer avec le Chapitre 1: Introduction à Actuator


⬅️ Retour au Plan de Cours