This commit is contained in:
2025-12-04 16:03:43 +01:00
parent 0223a92296
commit 352a495447

147
tp2.md
View File

@@ -27,7 +27,85 @@ tache config
Dans Visual Studio Code, chercher la commande Open Folder in Dev Container.... (Menu View - Command Palette ...) 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 Inclure les bibliothèques
@@ -75,66 +153,15 @@ debit_entree->Set(_digital[IN_FLOW_OUT].dvalue);
debit_sortie->Set(_digital[IN_FLOW_IN].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 ### Ajouter d'autres métriques
global:
scrape_interval: 5s
scrape_configs: Les gauges :
- job_name: 'prometheus'
scrape_interval: 1m
static_configs:
- targets: ['localhost:9090']
- job_name: 'apps_dynamiques' - IN_TANK_LEVEL
file_sd_configs: - IN_FLOW_1
- files: - IN_FLOW_2
- /etc/prometheus/targets/*.yml - IN_FLOW_3
- IN_FLOW_4
- 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