From cc92379958647f2f6fd8d99408ba648e4f4a81aa Mon Sep 17 00:00:00 2001 From: Tom Moguljak Date: Tue, 19 Mar 2024 23:08:54 +0100 Subject: [PATCH] ajout du TP5/6 --- README.md | 104 +++++++++++++++++++++++++++- TP5-6/docker-compose-cadvisor.yml | 17 +++++ TP5-6/docker-compose-grafana.yml | 6 ++ TP5-6/docker-compose-prometheus.yml | 8 +++ TP5-6/prometheus/prometheus.yml | 19 +++++ 5 files changed, 152 insertions(+), 2 deletions(-) create mode 100644 TP5-6/docker-compose-cadvisor.yml create mode 100644 TP5-6/docker-compose-grafana.yml create mode 100644 TP5-6/docker-compose-prometheus.yml create mode 100644 TP5-6/prometheus/prometheus.yml diff --git a/README.md b/README.md index 895f042..7dbc545 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ services: - ./nginx:/etc/nginx/conf.d ``` -**Étape 6** : Pour initialiser la base de données deux méthodes s'offrent à nous. La première en se connectant directement au serveur REDIS et la deuxième en utilisant l'interface REDISINSIGHT. +**Étape 7** : Pour initialiser la base de données deux méthodes s'offrent à nous. La première en se connectant directement au serveur REDIS et la deuxième en utilisant l'interface REDISINSIGHT. - **Première solution** - Démarrer docker avec la commande ``docker compose up -d`` - Effectuer la commande ``docker ps`` afin de lister tous conteneurs @@ -81,4 +81,104 @@ services: "http://localhost/index.php" - **Deuxième solution** -# TP 5/6 \ No newline at end of file +# TP 5/6 + +**Étape 1** : Il faut utiliser de nouveau ce qu'on a fait lors du TP4 afin de faire la mise en réseau. +Pour cela nous allons tout d'abord ajouter ceci : +```yml +networks: + - back +``` +Sur le service REDIS, REDISINSIGHT +```yml +networks: + - front +``` +Sur le service NGINX +```yml +networks: + - front + - back +``` +Sur le service PHP +Et un bloc networks à la fin du fichier : +```yml +networks: + front: + back: +``` + +**Étape 2** : On va commencer par faire un docker compose contenant les services de cadvisor et de node exporter. +Pour la partie cadvisor on va mettre +```yml +services: + cadvisor: + image: google/cadvisor:latest + ports: + - "8080:8080" + restart: unless-stopped + volumes: + - /:/rootfs:ro + - /var/run:/var/run:rw + - /sys:/sys:ro + - /var/lib/docker/:/var/lib/docker:ro* +``` + +Et pour la partie node exporter +```yml +services: + node-exporter: + image: prom/node-exporter:latest + ports: + - "9100:9100" + restart: unless-stopped +``` + +**Étape 3** : Maintenant on va faire un docker compose pour le service de prometheus +```yml +services: + prometheus: + image: prom/prometheus:latest + restart: unless-stopped + volumes: + - ./prometheus/:/etc/prometheus/ + ports: + - "9090:9090" +``` + +⚠️ Attention, il ne faut pas oublier de faire le fichier de configuration de prometheus (prometheus.yml) et ensuite de la mettre dans un dossier prometheus +```yml +global: + scrape_interval: 1m + evaluation_interval: 1m + +scrape_configs: + - job_name: 'prometheus' + + scrape_interval: 1m + + static_configs: + - targets: ['localhost:9090'] + + - job_name: 'node' + static_configs: + - targets: ['node-exporter:9100'] + + - job_name: 'cadvisor' + static_configs: + - targets: ['cadvisor:8080'] +``` + +Ce fichier de configuration va nous permettre de faire le lien entre le service prometheus et les services cadvisor et node exporter + +**Étape 4** : Maintenant il ne reste plus qu'à faire le docker compose pour le service Grafana. +```yml +services: + grafana: + image: grafana/grafana:latest + ports: + - "3000:3000" + restart: unless-stopped +``` + +**Étape 5** : \ No newline at end of file diff --git a/TP5-6/docker-compose-cadvisor.yml b/TP5-6/docker-compose-cadvisor.yml new file mode 100644 index 0000000..151b0c9 --- /dev/null +++ b/TP5-6/docker-compose-cadvisor.yml @@ -0,0 +1,17 @@ +services: + cadvisor: + image: google/cadvisor:latest + ports: + - 8080:8080 + restart: unless-stopped + volumes: + - /:/rootfs:ro + - /var/run:/var/run:rw + - /sys:/sys:ro + - /var/lib/docker/:/var/lib/docker:ro* + + node-exporter: + image: prom/node-exporter:latest + ports: + - 9100:9100 + restart: unless-stopped diff --git a/TP5-6/docker-compose-grafana.yml b/TP5-6/docker-compose-grafana.yml new file mode 100644 index 0000000..8e6f643 --- /dev/null +++ b/TP5-6/docker-compose-grafana.yml @@ -0,0 +1,6 @@ +services: + grafana: + image: grafana/grafana:latest + ports: + - "3000:3000" + restart: unless-stopped diff --git a/TP5-6/docker-compose-prometheus.yml b/TP5-6/docker-compose-prometheus.yml new file mode 100644 index 0000000..43e05f0 --- /dev/null +++ b/TP5-6/docker-compose-prometheus.yml @@ -0,0 +1,8 @@ +services: + prometheus: + image: prom/prometheus:latest + restart: unless-stopped + volumes: + - ./prometheus/:/etc/prometheus/ + ports: + - 9090:9090 \ No newline at end of file diff --git a/TP5-6/prometheus/prometheus.yml b/TP5-6/prometheus/prometheus.yml new file mode 100644 index 0000000..92adcd8 --- /dev/null +++ b/TP5-6/prometheus/prometheus.yml @@ -0,0 +1,19 @@ +global: + scrape_interval: 1m + evaluation_interval: 1m + +scrape_configs: + - job_name: 'prometheus' + + scrape_interval: 1m + + static_configs: + - targets: ['localhost:9090'] + + - job_name: 'node' + static_configs: + - targets: ['node-exporter:9100'] + + - job_name: 'cadvisor' + static_configs: + - targets: ['cadvisor:8080'] \ No newline at end of file