Académique Documents
Professionnel Documents
Culture Documents
© 2023-2024
Plan du cours
– Introduction
– Importance de la surveillance continue en DevOps
– Types de la surveillance continue
– Prometheus
• Définition, architecture, installation, configuration
– Grafana
• Définition, installation, configuration, dashboard
– Travail à faire (Surveiller Jenkins avec Prometheus et Grafana)
2
© 2023-2024 – Module DevOps – Introduction
Introduction
3
© 2023-2024 – Module DevOps – Surveillance Continue
Problématique
4
© 2023-2024 – Module DevOps – Surveillance Continue
Surveillance Continue - Importance
› Détection précoce des problèmes :
○ Le monitoring repère les soucis rapidement
› Réaction rapide aux incidents :
○ L'équipe réagit vite pour éviter les problèmes graves
› Automatisation des réparations :
○ Les actions correctives sont automatisées
› Amélioration continue :
○ Les données aident à améliorer constamment les performances
› Moins de temps d'arrêt :
○ Les pannes sont minimisées, ce qui maintient l'application en ligne
5
© 2023-2024 – Module DevOps – Surveillance Continue
Surveillance Continue - Types
La surveillance continue en DevOps comprend trois types de surveillance essentiels :
6
© 2023-2024 – Module DevOps – Surveillance Continue
Surveillance Continue - Types
› Surveillance de l’infrastructure
Surveiller les composants matériels et logiciels qui soutiennent l'application
tels que les serveurs, les bases de données, les réseaux, les conteneurs, etc.
7
© 2023-2024 – Module DevOps – Surveillance Continue
Surveillance Continue - Types
› Surveillance de sécurité
Identifier les menaces potentielles, les vulnérabilités et les activités
suspectes qui pourraient compromettre la sécurité de l'application.
8
© 2023-2024 – Module DevOps – Surveillance Continue
Suivi des métriques - Prometheus
› Prometheus est un logiciel libre qui surveille les systèmes informatiques, recueille
des données en temps réel via HTTP, les stocke dans une base de données
performante, et permet d'interroger ces données à l'aide de PromQL, un langage de
requête simple.
› Prometheus n'est pas conçu pour faire de la restitution d'informations sous la forme
de tableau de bord. Une bonne pratique est de faire appel à un outil comme
Grafana.
9
© 2023-2024 – Module DevOps – Surveillance Continue
Architecture - Prometheus 5 Visualiser les données et des règles
d'alerte pour être averti en cas de
problèmes
2 Récupère les données exposées par les
collecteurs, les stocke dans une base de
données temporelles et les indexe pour une
récupération rapide
11
© 2023-2024 – Module DevOps – Surveillance Continue
Visualisation des métriques - Grafana
12
© 2023-2024 – Module DevOps – Surveillance Continue
Surveillance des applications conteneurisées
14
© 2023-2024 – Module DevOps – Surveillance Continue
Prometheus - Installation
3. Accédez à l'interface web de Prometheus :
Vous pouvez maintenant accéder à l'interface web de prometheus en ouvrant votre navigateur et
en visitant http://<adresse-ip-vm>:9090.
15
© 2023-2024 – Module DevOps – Surveillance Continue
Configuration de Prometheus pour
récupérer les métriques de Jenkins et
les visualiser via Grafana
16
© 2023-2024 – Module DevOps – Surveillance Continue
Prometheus - Configuration
1. Installer le plugin “Prometheus metrics” dans Jenkins :
Vous devez redémarrer Jenkins en utilisant la commande "systemctl restart jenkins" pour que
la mise à jour prenne effet.
17
© 2023-2024 – Module DevOps – Surveillance Continue
Prometheus - Configuration
2. Configurer le serveur prometheus :
19
© 2023-2024 – Module DevOps – Surveillance Continue
Prometheus - Configuration
4. Redémarrer le service prometheus :
20
© 2023-2024 – Module DevOps – Surveillance Continue
Prometheus - Configuration
› Après le redémarrage, vous pouvez maintenant accéder à l'interface web de
prometheus en visitant http://<adresse-ip-vm>:9090/targets
21
© 2023-2024 – Module DevOps – Surveillance Continue
Prometheus - Configuration
› Pour visualisez les métriques de surveillance de Jenkins, vous pouvez accéder à
l'interface web de prometheus en visitant http://<adresse-ip-vm>:8080/prometheus
22
© 2023-2024 – Module DevOps – Surveillance Continue
Prometheus - métriques
23
© 2023-2024 – Module DevOps – Surveillance Continue
Prometheus - métriques
› Pour faciliter cette tâche, nous allons utiliser Grafana, un outil qui récupère ces
données, les organise de manière visuelle et les présente sous forme de graphiques.
24
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Installation
1. Exécutez le conteneur grafana:
› Vous avez la possibilité d'installer Prometheus et Grafana directement sur votre machine
pour effectuer la surveillance.
25
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Installation
3. Accédez à l'interface web de Grafana:
› Vous pouvez maintenant accéder à l'interface web de Grafana en ouvrant votre navigateur
et en visitant http://<adresse-ip-vm>:3000
› L'utilisateur et le mot de passe par défaut sont admin/admin
26
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Installation
4. Changer le mot de passe de Grafana:
› Vous pouvez changer le mot de passe par grafana par exemple.
27
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Installation
28
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Configuration
› La première étape consiste à intégrer une source de données (Prometheus)
29
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Configuration
Récupérez l’adresse IP du conteneur docker Grafana
Cliquez sur Save & test
30
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - configuration
Pour importer un tableau de bord dans Grafana, suivez les étapes suivantes :
31
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Configuration
› Cliquez sur “Import”
32
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Configuration
› Entrez l'identifiant 9964 du modèle de tableau de bord à importer
33
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Configuration
› Sélectionnez la source de données Jenkins et cliquez sur Import
34
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Dashboard
35
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Dashboard
› Sauvegardez le dashboard en cliquant sur le logo de Grafana
36
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Exemple Dashboard
› Ubuntu system performance monitor
37
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Exemple Dashboard
› Spring Boot Application system performance monitor
38
© 2023-2024 – Module DevOps – Surveillance Continue
Grafana - Exemple Dashboard
› Spring Boot Application system performance monitor
39
© 2023-2024 – Module DevOps – Surveillance Continue
Surveillance - Architecture
› Vous pouvez surveiller les trois conteneurs de votre application finale (Backend Spring Boot +
MySQL). Prometheus collecte les métriques en temps réel, tandis que Grafana les visualise.
Docker containers
40
© 2023-2024 – Module DevOps – Surveillance Continue
Travail à faire
1. Installez et configurez Prometheus
41
© 2023-2024 – Module DevOps – Surveillance Continue
Solution finale
› Créez des tableaux de bord pour surveiller les divers serveurs ainsi que votre application Spring Boot
Conteneur SonarQube
Livrable backend
Conteneur MySQL
Livrable frontend
Monitoring de
l’application
Conteneur Nexus
Conteneur Grafana Conteneur Prometheus
42
© 2023-2024 – Module DevOps – Surveillance Continue
"Apprendre par le projet, c'est découvrir
par l'action, créer par la compréhension, et
réussir par la persévérance."