Technologies/Traefik/traefik.router.requests.total
TraefikTraefikMetric

traefik.router.requests.total

Total requests at router
Dimensions:None
Available on:PrometheusPrometheus (1)DatadogDatadog (1)Native (1)
Interface Metrics (3)
PrometheusPrometheus
Total number of requests handled by a router
Dimensions:None
DatadogDatadog
Total count of requests received by router
Dimensions:None
Native
Total number of requests processed by router
Dimensions:None

Technical Annotations (38)

Configuration Parameters (11)
traefik.http.routers.<name>.rulerecommended: Host(`app.example.com`)
Must use backticks and match exact request Host header
traefik.http.routers.<name>.entrypointsrecommended: websecure
Must match where traffic actually arrives (web vs websecure)
--providers.docker.exposedbydefaultrecommended: false
Set false in production to require explicit traefik.enable per container
traefik.enablerecommended: true
Required when exposedByDefault is false
traefik.http.services.<service>.loadbalancer.server.portrecommended: 8080
Must be set explicitly when container exposes multiple ports
--providers.docker.networkrecommended: edge
Restricts Traefik to only discover services on specified network
metrics.otlp.addRoutersLabelsrecommended: true
enables router label on OTLP metrics for per-router visibility
metrics.prometheus.addRoutersLabelsrecommended: true
enables router label on Prometheus metrics for per-router visibility
metrics.datadog.addRoutersLabelsrecommended: true
enables router label on Datadog metrics for per-router visibility
metrics.influxDB2.addRoutersLabelsrecommended: true
enables router label on InfluxDB2 metrics for per-router visibility
metrics.statsD.addRoutersLabelsrecommended: true
enables router label on StatsD metrics for per-router visibility
Error Signatures (2)
404 page not foundhttp status
502 Bad Gatewayhttp status
CLI Commands (9)
docker exec -it traefik sh -lc 'wget -qO- http://127.0.0.1:8080/api/http/routers'diagnostic
docker inspect app --format '{{json .Config.Labels}}' | jq -r 'to_entries[] | "\(.key)=\(.value)"' | sortdiagnostic
curl -sS -D- -o /dev/null -H 'Host: app.example.com' http://127.0.0.1/diagnostic
docker compose configdiagnostic
docker inspect traefik --format '{{json .Config.Cmd}}'diagnostic
docker exec -it traefik sh -lc 'wget -qO- http://127.0.0.1:8080/api/http/services | jq -r ".[] | select(.name==\"app-svc@docker\") | .loadBalancer.servers"'diagnostic
docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}'diagnostic
docker inspect app --format '{{json .NetworkSettings.Networks}}'diagnostic
docker exec -it traefik sh -lc 'wget -qSO- http://172.24.0.5:8080/health -O /dev/null'diagnostic
Technical References (16)
EntryPointcomponentRoutercomponentHost()conceptYAMLconceptDocker providercomponentServicecomponentloadbalancer.server.portcomponentDocker networkcomponent--providers.docker.networkcomponent0.0.0.0concept127.0.0.1conceptroutercomponentPathPrefixcomponentPathcomponentPathRegexcomponentPathRegexpcomponent
Related Insights (7)
Router rule mismatch causes persistent 404s despite healthy containerscritical
Router missing from config when exposedByDefault is false without explicit enablecritical
Auto-detected service port routes to wrong container port with multiple exposed portscritical
Network isolation prevents Traefik from reaching container backendscritical
502 Bad Gateway when backend unreachable despite router matchcritical
Router-level metrics disabled by default across all backendsinfo
Path matchers bypassable via encoded characters or directory traversalcritical