Prometheus
Module 1 : Introduction à la Surveillance avec Prometheus (1 heure)
Objectifs du Module :
Comprendre les concepts de base de la surveillance des systèmes avec Prometheus.
Introduction à l'architecture et aux composants de Prometheus.
Contenu :
Qu'est-ce que Prometheus ? : Vue d'ensemble.
Architecture de Prometheus :
Modèle de collecte de données par scraping.
Les composants principaux : Prometheus Server, Exporters, Alertmanager, Pushgateway.
Rôle des bases de données Time Series (TSDB).
Cas d'usage typiques : Surveillance des systèmes distribués, des microservices, et des environnements Cloud.
Lab 1 :
Installation et Configuration Initiale de Prometheus :
Installation de Prometheus sur un serveur Linux.
Exploration du fichier de configuration
prometheus.yml
.Ajout de targets pour le scraping initial (par exemple, un serveur Linux avec node_exporter).
Module 2 : Collecte de Données avec Prometheus (2 heures)
Objectifs du Module :
Configurer et utiliser des Exporters pour la collecte de métriques.
Comprendre le processus de scraping et les concepts associés.
Contenu :
Les Exporters :
Présentation des principaux exporters : node_exporter, blackbox_exporter, cadvisor, etc.
Installation et configuration des exporters.
Scraping des métriques :
Configuration des jobs de scraping dans Prometheus.
Notions de relabeling pour le filtrage et l'organisation des métriques.
Collecte de métriques personnalisées à l'aide de scripts.
Lab 2 :
Mise en place de node_exporter :
Installation de node_exporter sur un serveur.
Configuration de Prometheus pour scraper les métriques du node_exporter.
Visualisation des données collectées via l'interface Prometheus.
Ajout d'un exporter personnalisé :
Création d'un exporter simple avec un script bash/python pour surveiller une application custom.
Intégration de cet exporter dans Prometheus.
Module 3 : Introduction à PromQL (3 heures)
Objectifs du Module :
Maîtriser le langage de requête PromQL pour interroger les métriques dans Prometheus.
Apprendre à créer des requêtes simples et complexes pour l'analyse des données.
Contenu :
Concepts de base de PromQL :
Introduction à la syntaxe et aux opérateurs de PromQL.
Notions de séries temporelles, labels, et metrics types (Counters, Gauges, Histograms, Summaries).
Écriture de requêtes simples :
Requêtes pour interroger des métriques instantanées (ex. :
node_cpu_seconds_total
).Utilisation des opérateurs et fonctions de base (
rate
,increase
,sum
,avg
, etc.).
Requêtes avancées :
Agrégation de données :
sum
,max
,min
,avg
sur les métriques.Groupement par labels (
group by
).Utilisation des expressions régulières pour filtrer les labels.
Lab 3 :
Requêtes simples avec PromQL :
Écrire des requêtes pour surveiller l'utilisation du CPU, de la RAM, et de l'espace disque.
Visualisation des résultats dans l'interface Prometheus.
Requêtes avancées :
Créer des requêtes complexes pour surveiller les taux d'erreur, la latence, et la disponibilité des services.
Utilisation de fonctions d'agrégation pour des métriques spécifiques (ex. : moyenne des charges CPU sur plusieurs serveurs).
Module 4 : Intégration de Prometheus avec Grafana (2 heures)
Objectifs du Module :
Apprendre à intégrer Prometheus avec Grafana pour la visualisation des métriques.
Créer des tableaux de bord dynamiques et interactifs.
Contenu :
Introduction à Grafana :
Installation et configuration de Grafana.
Connexion de Grafana à Prometheus en tant que source de données.
Création de Tableaux de Bord :
Conception de dashboards pour la surveillance des systèmes (CPU, RAM, Réseau).
Utilisation des panels graphiques, statiques, et de texte.
Alerting avec Grafana :
Configuration des alertes dans Grafana à partir de requêtes PromQL.
Intégration avec des canaux de notification (email, Slack, etc.).
Lab 4 :
Configuration de Grafana :
Installation de Grafana et ajout de Prometheus comme source de données.
Création d'un dashboard basique affichant des métriques système (CPU, mémoire, etc.).
Création de tableaux de bord avancés :
Conception d’un tableau de bord pour une application spécifique avec des panels personnalisés.
Configuration d'alertes dans Grafana basées sur les métriques Prometheus.
Module 5 : Gestion des Alertes avec Alertmanager (2 heures)
Objectifs du Module :
Configurer Alertmanager pour gérer les alertes envoyées par Prometheus.
Apprendre à créer des règles d’alerte complexes et à les acheminer vers les bonnes équipes.
Contenu :
Introduction à Alertmanager :
Rôle d'Alertmanager dans l'écosystème Prometheus.
Configuration d'Alertmanager : Fichier
alertmanager.yml
, routes, et receveurs.
Création de Règles d’Alerte dans Prometheus :
Écriture de règles d'alerte basées sur PromQL (ex. :
up == 0
,rate(http_requests_total[5m]) > 100
).Configuration des groupes d'alerte pour une meilleure organisation.
Gestion des Alertes avec Alertmanager :
Configuration des routes d’alertes (en fonction des priorités, services, etc.).
Intégration avec des systèmes de notification : Email, Slack, PagerDuty, etc.
Gestion des inhibitions et des silences pour éviter les alertes répétitives ou non pertinentes.
Lab 5 :
Configuration d'Alertmanager :
Installation d'Alertmanager et configuration de routes simples.
Création d'une règle d’alerte dans Prometheus et acheminement de cette alerte via Alertmanager.
Gestion avancée des alertes :
Mise en place de routes complexes pour envoyer les alertes critiques à des équipes spécifiques.
Configuration de silences pour une période de maintenance simulée.
Module 6 : Optimisation et Gestion de la Scalabilité de Prometheus (2 heures)
Objectifs du Module :
Comprendre les défis de la scalabilité avec Prometheus.
Apprendre à optimiser la configuration de Prometheus pour des environnements à grande échelle.
Contenu :
Gestion de la Scalabilité :
Limites de scalabilité de Prometheus en mode standalone.
Introduction à la fédération et à l'architecture multi-instances.
Utilisation de Thanos pour la gestion de la scalabilité et la rétention long terme.
Optimisation des Performances :
Réduction de la cardinalité des métriques.
Gestion des ressources système pour Prometheus (CPU, RAM).
Optimisation des requêtes PromQL pour minimiser l'impact sur les performances.
Monitoring de Prometheus lui-même :
Surveillance des performances et de l’utilisation des ressources de Prometheus.
Alertes sur la disponibilité et les performances de Prometheus.
Lab 6 :
Configuration d'une fédération Prometheus :
Mise en place d'une architecture fédérée avec deux instances de Prometheus.
Scraper des métriques à partir de plusieurs sources et les agréger.
Optimisation des requêtes :
Analyse des requêtes PromQL pour identifier les points d'amélioration.
Mise en œuvre de bonnes pratiques pour optimiser la consommation des ressources.
Module 7 : Études de Cas et Projets Pratiques (2 heures)
Objectifs du Module :
Appliquer les connaissances acquises dans des scénarios réels de surveillance.
Résoudre des cas pratiques complexes en utilisant Prometheus, Grafana, et Alertmanager.
Contenu :
Étude de Cas 1 : Surveillance d'un Cluster Kubernetes :
Mise en place de la surveillance complète d'un cluster Kubernetes avec Prometheus, Grafana, et Alertmanager.
Utilisation de kube-prometheus pour simplifier le déploiement.
Étude de Cas 2 : Surveillance d'une Application Web à Grande Échelle :
Configuration de Prometheus pour surveiller une application web distribuée.
Création de dashboards et d’alertes spécifiques pour les services critiques.
Lab 7 :
Projet de Fin de Formation :
Les participants configurent une solution complète de surveillance avec Prometheus, Grafana, et Alertmanager pour un environnement simulé.
Présentation des projets et retour d'expérience.
Conclusion et Évaluation (30 minutes)
Récapitulatif :
Résumé des concepts clés abordés pendant la formation.
Réponses aux questions restantes.
Évaluation des Compétences :
QCM et exercices pratiques pour évaluer la compréhension des participants.
Discussion sur les prochaines étapes pour la mise en œuvre des compétences acquises dans leur environnement professionnel.
Certification :
Présentation du processus de certification pour Prometheus (le cas échéant).
Last updated