docker: add metrics for Traefik in Prometheus

This commit is contained in:
Vincent Bernat
2025-08-11 08:49:37 +02:00
parent 34db6a9f2c
commit 8f73f70050
2 changed files with 19 additions and 0 deletions

View File

@@ -233,6 +233,9 @@ services:
environment:
TRAEFIK_API: "true"
TRAEFIK_API_BASEPATH: "/traefik"
TRAEFIK_METRICS_PROMETHEUS: "true"
TRAEFIK_METRICS_PROMETHEUS_MANUALROUTING: "true"
TRAEFIK_METRICS_PROMETHEUS_ADDROUTERSLABELS: "true"
TRAEFIK_PROVIDERS_DOCKER: "true"
TRAEFIK_PROVIDERS_DOCKER_EXPOSEDBYDEFAULT: "false"
TRAEFIK_ENTRYPOINTS_private_ADDRESS: ":8080" # all services
@@ -242,6 +245,9 @@ services:
- traefik.enable=true
- "traefik.http.routers.traefik.rule=PathPrefix(`/traefik`) && !PathPrefix(`/traefik/debug`)"
- traefik.http.routers.traefik.service=api@internal
- traefik.http.routers.traefik-metrics.rule=PathPrefix(`/traefik/metrics`)
- traefik.http.routers.traefik-metrics.priority=200
- traefik.http.routers.traefik-metrics.service=prometheus@internal
ports:
# Port 8080 is considered private as it exposes sensible unauthenticated
# services (ClickHouse, configuration, ...). Therefore, it is only exposed

View File

@@ -90,3 +90,16 @@ scrape_configs:
target_label: service
regex: akvorado-(.*)
replacement: $1
- job_name: traefik
metrics_path: /traefik/metrics
docker_sd_configs:
- host: unix:///var/run/docker.sock
refresh_interval: 30s
filters:
- name: label
values:
- com.docker.compose.project=akvorado
- com.docker.compose.service=traefik
- source_labels: [__meta_docker_port_private]
regex: 80
replacement: 8080