Enable traefik metrics

This commit is contained in:
Kyâne 2021-02-07 14:10:52 +01:00
parent 570d35d2e3
commit ab91c27655
3 changed files with 30 additions and 7 deletions

View File

@ -20,14 +20,24 @@ Si on lance plein de conteneurs de tests, on utilisera temporairement [l'environ
### Lancement ### Lancement
#### Certs
Au premier lancement, assurez-vous que : Au premier lancement, assurez-vous que :
* Le dossier `/DATA/docker/traefik/certs` existe
* Créez un fichier `acme.json` à l'intérieur - Le dossier `/DATA/docker/traefik/certs` existe
* Changez son propriétaire à `root` - Créez un fichier `acme.json` à l'intérieur
* Changez ses permissions à `600` - Changez son propriétaire à `root`
- Changez ses permissions à `600`
C'est dans ce fichier que seront conservés tous les certificats générés par Traefik. C'est dans ce fichier que seront conservés tous les certificats générés par Traefik.
#### Métriques
Pour le bon fonctionnement des métriques, il faut aussi créer un fichier `.env` (dans le même dossier que le Docker Compose) qui devra contenir 2 variables :
- `SERVER_NAME` qui correspond au nom du serveur, par exemple `SERVER_NAME=pica01-test.picasoft.net`
- `METRICS_AUTH` qui correspond à la chaîne d'identification htpasswd utilisée pour authentifier sur l'endpoint des métriques, par exemple `METRICS_AUTH="traefik:$apr1$bXnknJ0S$GsC.ozNJc/dAkh9uH7Qlg."`
### Mise à jour ### Mise à jour
Il suffit de mettre à jour le tag de l'image dans Compose. Il suffit de mettre à jour le tag de l'image dans Compose.

View File

@ -1,8 +1,8 @@
version: '3.7' version: "3.7"
networks: networks:
proxy: proxy:
name: 'proxy' name: "proxy"
services: services:
traefik: traefik:
@ -17,6 +17,14 @@ services:
- ./traefik.toml:/traefik.toml - ./traefik.toml:/traefik.toml
- ./traefik_dynamic.toml:/traefik_dynamic.toml - ./traefik_dynamic.toml:/traefik_dynamic.toml
- /DATA/docker/traefik/certs:/certs - /DATA/docker/traefik/certs:/certs
labels:
traefik.http.routers.traefik-metrics.entrypoints: websecure
traefik.http.routers.traefik-metrics.rule: "Host(`${SERVER_NAME}`) && PathPrefix(`/metrics`)"
traefik.http.routers.traefik-metrics.service: traefik-metrics
traefik.http.routers.traefik-metrics.middlewares: "traefik-metrics-auth@docker"
traefik.http.middlewares.traefik-metrics-auth.basicauth.users: "${METRICS_AUTH}"
traefik.http.services.traefik-metrics.loadbalancer.server.port: 8082
traefik.enable: true
networks: networks:
- proxy - proxy
restart: unless-stopped restart: unless-stopped

View File

@ -15,7 +15,8 @@
[entryPoints.websecure.http.tls] [entryPoints.websecure.http.tls]
certResolver = "letsencrypt" certResolver = "letsencrypt"
options = "tls12@file" options = "tls12@file"
[entryPoints.metrics]
address = ":8082"
[providers] [providers]
providersThrottleDuration = "2s" providersThrottleDuration = "2s"
@ -40,3 +41,7 @@
storage = "/certs/acme.json" storage = "/certs/acme.json"
[certificatesResolvers.letsencrypt.acme.httpChallenge] [certificatesResolvers.letsencrypt.acme.httpChallenge]
entryPoint = "web" entryPoint = "web"
[metrics]
[metrics.prometheus]
entryPoint = "metrics"