Observabilité
Objectifs
- Estimer son travail
- Dockeriser une application Spring Boot
- Instrumenter une application Spring Boot pour la visualisation des logs, métriques et traces
- Configurer un dashboard dans Kibana
- Configurer un dashboard dans Grafana
Rendu
- GitHub Classroom : https://classroom.github.com/a/-lxidR0U
- Rapport individuel en Markdown à rendre avant le prochain cours
- Nom du fichier :
report.md
à la racine du répertoire - Code directement sur GitHub Classroom
- Délai: 2 semaines
- Rendu intermédiaire après 1 semaine pour avoir un retour sur le travail effectué
Tâches
Estimer son travail
- Estimez le temps nécessaire pour réaliser ce laboratoire
- Découpez le travail en tâches pour faciliter l'estimation
- Lorsque vous aurez terminé le laboratoire, comparez le temps estimé avec le temps réellement passé
Tâche | Temps estimé | Temps réel | Commentaire |
---|---|---|---|
Estimation | 10m | 15m | ... |
... | ... | ... | ... |
Total | 2h | 1h30 | ... |
Mise en place
Ce projet reprend demotory qui est le point de départ sur GitHub Classroom.
mvn spring-boot:run
Docker Compose
- Dockeriser l'application
- Créer un Docker Compose pour lancer l'application
docker compose up
Bonus :
- Utiliser les profiles pour activer/désactiver les outils APM
Instrumentation
Instrumenter l'application en justifiant vos choix d'outils
- Le Docker Compose doit exposer les services suivants:
- Kibana pour visualiser les logs sur http://localhost:5601
- Grafana pour visualiser les métriques sur http://localhost:3000
- Prometheus pour récupérer les métriques sur http://localhost:9090
- Jaeger pour visualiser les traces sur http://localhost:16686
- Documenter les configurations manuelles à faire après avoir lancé
docker compose up
dans leREADME.md
- Exemple: ajouter des dashboards dans Kibana et Grafana
- Vous pouvez ajouter des screenshots dans la documentation
Logs avec Kibana
Visualiser les logs de tous les containers (application + outils APM) dans Kibana.
Bonus :
- Gérer les stacktraces qui sont sur plusieurs lignes (regrouper la stacktrace en un seul record)
Métriques avec Grafana
Visualiser les métriques de tous les containers (application + outils APM) dans Grafana.
Bonus :
- Ajouter des métriques personnalisées de l'application
Traces avec Jaeger
Visualiser les traces de l'application dans Jaeger.
Bonus :
- Déployer aussi Zipkin et visualiser les traces dans Zipkin
- Comparer les deux outils
Rapport
- Indiquez dans votre rapport votre démarche ainsi que les difficultés rencontrées
- Expliquez tous les choix techniques que vous avez fait (sauf ceux indiqués)
Evaluation
Critères de base (-0.5/critère) | Critères complémentaires (+0.2/critère) | |
---|---|---|
Rendu |
| |
Docker |
|
|
Logs |
|
|
Métriques |
|
|
Traces |
|
|
Documentation (README.md) |
|
|
Rapport |
| |
Bonus |
|
Tous les critères de base doivent être validés pour avoir la note de 4.
Les critères complémentaires permettent d'atteindre la note de 6.