From 352a495447cb907e63886d746597fe2b2a908ce3 Mon Sep 17 00:00:00 2001 From: medina5 Date: Thu, 4 Dec 2025 16:03:43 +0100 Subject: [PATCH] tp2 --- tp2.md | 147 ++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 87 insertions(+), 60 deletions(-) diff --git a/tp2.md b/tp2.md index 3108fd1..740e625 100644 --- a/tp2.md +++ b/tp2.md @@ -27,7 +27,85 @@ tache config Dans Visual Studio Code, chercher la commande Open Folder in Dev Container.... (Menu View - Command Palette ...) -L'extension va créer un conteneur Docker configuré avec les extensions nécessaires au développment de l'application +L'extension va créer un conteneur Docker configuré avec les extensions nécessaires au dévelopement de l'application + + +### Ajouter un conteneur pour Prometheus + +Créer un fichier de configuration prometheus.yml + +```json +global: + scrape_interval: 5s + +scrape_configs: + - job_name: 'prometheus' + scrape_interval: 1m + static_configs: + - targets: ['localhost:9090'] + + - job_name: 'apps_dynamiques' + file_sd_configs: + - files: + - /etc/prometheus/targets/*.yml + + - job_name: docker + docker_sd_configs: + - host: unix:///var/run/docker.sock + refresh_interval: 15s + filters: + - name: label + values: ['prometheus=true'] + relabel_configs: + - source_labels: ['__meta_docker_container_name'] + regex: '/(.*)' + target_label: 'container' +``` + +Créer un dossier prometheus + +```shell +docker run --detach --name prometheus ^ + --network tp_net ^ + -p "9090:9090" ^ + -v prometheus:/prometheus ^ + -v ./prometheus.yml:/etc/prometheus/prometheus.yml ^ + -v ./prometheus:/etc/prometheus/targets ^ + -v /var/run/docker.sock:/var/run/docker.sock:ro ^ + -l "caddy=prometheus.localhost" ^ + -l "caddy.reverse_proxy={{upstreams 9090}}" ^ + -l "caddy.tls=internal" ^ + prom/prometheus:v3.8.0 +``` + +Rendez vous à l'adresse http://localhost:9000 + +### Ajouter un conteneur pour Grafana + +```shell +docker run --detach --name grafana ^ + --network tp_net ^ + -p "3000:3000" ^ + -e "GF_SECURITY_ADMIN_USER=admin" ^ + -e "GF_SECURITY_ADMIN_PASSWORD=geii2025" ^ + -e "GF_USERS_ALLOW_SIGN_UP=false" ^ + -e "GF_USERS_DEFAULT_THEME=system" ^ + --label "caddy=grafana.localhost" ^ + --label "caddy.reverse_proxy={{upstreams 3000}}" ^ + --label "caddy.tls=internal" ^ + grafana/grafana:12.1 +``` + +```yml +- labels: + job: "c" + targets: + - "pompes:8099" +``` + +### Ajouter un conteneur pour Mailpits + +### Modifier le programme C Inclure les bibliothèques @@ -75,66 +153,15 @@ debit_entree->Set(_digital[IN_FLOW_OUT].dvalue); debit_sortie->Set(_digital[IN_FLOW_IN].dvalue); ``` -### Ajouter un conteneur pour Prometheus +### Construire un tableau de bord dans Grafana -Créer un fichier de configuration -```json -global: - scrape_interval: 5s +### Ajouter d'autres métriques -scrape_configs: - - job_name: 'prometheus' - scrape_interval: 1m - static_configs: - - targets: ['localhost:9090'] +Les gauges : - - job_name: 'apps_dynamiques' - file_sd_configs: - - files: - - /etc/prometheus/targets/*.yml - - - job_name: docker - docker_sd_configs: - - host: unix:///var/run/docker.sock - refresh_interval: 15s - filters: - - name: label - values: ['prometheus=true'] - relabel_configs: - - source_labels: ['__meta_docker_container_name'] - regex: '/(.*)' - target_label: 'container' -``` - -```shell -docker run --detach --name prometheus ^ - --network tp_net ^ - -p "9090:9090" ^ - -v prometheus:/prometheus ^ - -v ./prometheus.yml:/etc/prometheus/prometheus.yml ^ - -v ./prometheus:/etc/prometheus/targets ^ - -v /var/run/docker.sock:/var/run/docker.sock:ro ^ - -l "caddy=prometheus.localhost" ^ - -l "caddy.reverse_proxy={{upstreams 9090}}" ^ - -l "caddy.tls=internal" ^ - prom/prometheus:v3.8.0 -``` - -### Ajouter un conteneur pour Grafana - -```shell -docker run --detach --name grafana ^ - --network tp_net ^ - -p "3000:3000" ^ - -e "GF_SECURITY_ADMIN_USER=admin" ^ - -e "GF_SECURITY_ADMIN_PASSWORD=geii2025" ^ - -e "GF_USERS_ALLOW_SIGN_UP=false" ^ - -e "GF_USERS_DEFAULT_THEME=system" ^ - --label "caddy=grafana.localhost" ^ - --label "caddy.reverse_proxy={{upstreams 3000}}" ^ - --label "caddy.tls=internal" ^ - grafana/grafana:12.1 -``` - -### Ajouter un conteneur pour Mailpits +- IN_TANK_LEVEL +- IN_FLOW_1 +- IN_FLOW_2 +- IN_FLOW_3 +- IN_FLOW_4