Aperçu du cours
Description du cours :
Dans ce cours, vous découvrirez comment optimiser la journalisation et l’observabilité dans des architectures basées sur les microservices. Vous apprendrez les bonnes pratiques de journalisation, à choisir les bons formats, et à utiliser des outils tels que Node.js, winston, Morgan et la pile ELK (Elasticsearch, Logstash, Kibana) pour centraliser vos journaux et les visualiser efficacement.
Le cours vous guidera également dans le déploiement de solutions de surveillance avec Prometheus et Grafana, et explorera le traçage distribué à l’aide de Jaeger, Zipkin, et OpenTelemetry pour analyser et diagnostiquer les performances de vos services.
À travers des démonstrations pratiques, vous apprendrez à :
- Configurer des logs dans une application Node.js.
- Déployer et configurer la pile ELK pour une journalisation centralisée.
- Instrumenter des microservices avec Prometheus et Grafana pour la surveillance des métriques.
- Visualiser et analyser les logs et métriques pour résoudre des problèmes.
- Implémenter un traçage distribué et gérer la propagation de contexte avec Jaeger, Zipkin ou OpenTelemetry.
Ce cours pratique, enrichi d’exemples concrets, est conçu pour les développeurs, DevOps et architectes souhaitant améliorer la fiabilité, la performance et la visibilité de leurs systèmes microservices.
À qui s’adresse cette formation ?
Cette formation est idéale pour :
- Développeurs : souhaitant intégrer des pratiques de journalisation efficaces et implémenter une observabilité robuste dans leurs applications.
- Ingénieurs DevOps : cherchant à centraliser et optimiser la collecte et l’analyse des logs pour des architectures basées sur les microservices.
- Architectes logiciels : désireux de concevoir des systèmes fiables, performants et observables grâce aux outils modernes.
- Responsables techniques : souhaitant diagnostiquer rapidement les problèmes et améliorer la résilience des services.
Pré-requis :
- Une connaissance de base des architectures microservices.
- Une familiarité avec Kubernetes, Docker et des langages comme Node.js.
- Une expérience préalable dans la manipulation de logs et de métriques serait un plus, mais n’est pas obligatoire.
Objectifs de la formation :
- Comprendre l’importance de la journalisation dans les architectures modernes et comment cela contribue à l’observabilité.
- Maîtriser les outils clés comme winston, Morgan, et la pile ELK (Elasticsearch, Logstash, Kibana) pour centraliser et analyser les logs.
- Déployer des solutions de surveillance avec Prometheus et Grafana, et créer des tableaux de bord efficaces.
- Mettre en œuvre le traçage distribué pour comprendre les interactions entre les services avec Jaeger, Zipkin, et OpenTelemetry.
- Optimiser la collecte et l’analyse des journaux pour diagnostiquer et résoudre rapidement les problèmes.
Ce que vous allez apprendre :
- Configurer des logs dans une application Node.js avec winston et Morgan.
- Déployer la pile ELK pour collecter, analyser et visualiser les journaux.
- Surveiller des microservices en temps réel avec Prometheus et Grafana.
- Créer des tableaux de bord personnalisés pour suivre les métriques des microservices.
- Implémenter un traçage distribué pour identifier les goulets d’étranglement et améliorer la performance des systèmes.
Ce cours vous permettra de passer de la théorie à la pratique grâce à des démonstrations concrètes et des exercices appliqués. À la fin de cette formation, vous serez capable de gérer l’observabilité et la journalisation dans n’importe quelle architecture basée sur les microservices, et de garantir des systèmes plus fiables et performants.
Détails
- 4 Sections
- 45 Lessons
- 5 Hours
- Bonnes pratiques de journalisation pour les microservices10
- 1.1Why Log Application Events?
- 1.2Observability
- 1.3Logging Options in Node.js
- 1.4Observability
- 1.5Logging Formats
- 1.6Best Practices for Logging Microservices
- 1.7Demo: Enabling and Configuring Logs in a Node.js Application
- 1.8[PLAY – DEMO]45 Minutes
- 1.9[PLAY – DEMO 2 Logging with winston and Morgan – part 2]
- 1.10[PLAY – DEMO 3 Logging with Morgan and winston – End]
- Implementing Centralized Logging with ELK Stack17
- 2.1What is the ELK Stack?5 Minutes
- 2.2Installing the ELK Stack
- 2.3Demo: Installing ELK
- 2.4[PLAY – DEMO DEPLOY ELK]
- 2.5[PLAY – DEMO – Configure Transport to Leasticsearch]
- 2.6Log Engineering with Logstash10 Minutes
- 2.7Demo: Logstash
- 2.8[PLAY – DEMO – Send logs to Logstash]
- 2.9[PLAY – Send Logs with Filebeat]
- 2.10Storing Logs with Elasticsearch
- 2.11Demo: Interacting with Elasticsearch via Kibana DevTools
- 2.12[PLAY – DEMO Loggins with ELK]
- 2.13Visualizing Logs with Kibana
- 2.14[PLAY – DEMO – Visualizing Logs with Kibana]
- 2.15Optimizing the Implementation of the ELK Stack
- 2.16Case Study: Problem to Solve
- 2.17[PLAY – DEMO – Seach problems]
- Monitoring Microservices with Prometheus and Grafana9
- 3.1Objectives of Microservice Monitoring
- 3.2Monitoring with Prometheus and Grafana
- 3.3Demo: Deploying Prometheus and Grafana
- 3.4[PLAY – DEMO Deploying Prometheus and Grafana]
- 3.5Demo: Instrumenting Node.js Microservices
- 3.6[PLAY – DEMO Instrumenting Node.js Microservices]
- 3.7Demo: Creating Dashboards with Grafana for Metric Visualization
- 3.8Demo: Configuring Alerts
- 3.9[ PLAY – DEMO Dashboards with Grafana for Metric Visualization]
- Traçage distribué avec Jaeger ou Zipkin9
- 4.1Overcoming Logging Challenges in Microservice Architectures
- 4.2Demo: Running Jaeger and Zipkin with Docker Compose
- 4.3[ PLAY – DEMO Deploy Jaeger-Zipkin]
- 4.4Context Propagation in Distributed Tracing
- 4.5Demo: Tracing Logs with Zipkin
- 4.6[PLAY – DEMO – Tracing logs with Zipkin]
- 4.7Demo: Tracing Logs with Jaeger
- 4.8[PLAY – DEMO – Tracing logs with Jaeger]
- 4.9Demo: Tracing with OpenTelemetry