# Problem with prometheus/grafana - traefik/docker

**URL:** <https://community.traefik.io/t/problem-with-prometheus-grafana-traefik-docker/9019>\
**Category:** Traefik v2\
**Tags:** metrics, docker\
**Created:** [December 15, 2020, 5:50pm UTC](https://community.traefik.io/t/problem-with-prometheus-grafana-traefik-docker/9019 "2020-12-15T17:50:18Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hujino](https://avatars.discourse-cdn.com/v4/letter/h/b2d939/32.png) [@Hujino](https://community.traefik.io/u/Hujino)\
**Post date:** [December 15, 2020, 5:50pm UTC](https://community.traefik.io/t/problem-with-prometheus-grafana-traefik-docker/9019/1 "2020-12-15T17:50:18Z")

</div>

Hello,

At the moment, I'm stuck on a situation.

When I want to deploy prometheus and grafana via docker with my docker-composite file and the configuration files going well, traefik is unable to serve the service.

The prometheus/grafana containers work but traefik does not service my service.

Docker-compose traefik 🙂

```auto
version: '3.8'

services:
  dockerproxy:
    container_name: dockerproxy
    image: tecnativa/docker-socket-proxy
    restart: always
    environment:
      - CONTAINERS=1
    networks:
      - socket-docker
    ports:
      - 2375:2375
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

  traefik:
    container_name: traefik
    depends_on:
      - dockerproxy
    env_file:
      - .env
    image: traefik:${TRAEFIK_VERSION}
    restart: always
    networks:
      - socket-docker
      - traefik
      - monitoring
    ports:
      - 80:80
      - 443:443
      #metrics
      - 8082:8082
    environment:
      - TZ=Europe/Paris
    labels:
      - traefik.enable=true
      - traefik.http.routers.traefik-secure.entrypoints=websecure
      - traefik.http.routers.traefik-secure.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)
      - traefik.http.routers.traefik-secure.tls=true
      - traefik.http.routers.traefik-secure.tls.certresolver=le
      - traefik.http.routers.traefik-secure.tls.domains[0].main=${SUBDOMAIN}.${DOMAIN}
      - traefik.http.routers.traefik-secure.service=api@internal
      - traefik.http.routers.traefik-secure.middlewares=auth-admin
      - traefik.http.middlewares.auth-admin.basicauth.users=${DASHBOARD_ACCOUNT}:${DASHBOARD_PASSWORD}
      # metrics rules
      - traefik.http.routers.metrics.entrypoints=metrics
      - traefik.http.routers.metrics.rule=Host(`${SUBDOMAIN}.${DOMAIN}`) && Path(`/metrics`)
      - traefik.http.routers.metrics.service=prometheus@internal
      - traefik.http.routers.metrics.middlewares=auth-metrics
      - traefik.http.middlewares.auth-metrics.basicauth.users=${PROMETHEUS_ACCOUNT}:${PROMETHEUS_PASSWORD}
      - traefik.http.middlewares.prometheus-whitelist.ipwhitelist.sourcerange=127.0.0.1/32
    volumes:
      - "./config/traefik.yaml:/traefik.yaml:ro"
      - "letsencrypt:/letsencrypt/:rw,delegated"
      - "logs:/logs/:rw,delegated"

networks:
  socket-docker:
  traefik:
  monitoring:

volumes:
  letsencrypt:
    name: LE_cert
  logs:
    name: traefik_logs

```

Traefik config file :

```auto
# GLOBAL CONFIGURATION #

global:
  checkNewVersion: false
  sendAnonymousUsage: false

# METRICS #

metrics:
  prometheus:
    buckets:
      - 0.1
      - 0.3
      - 1.2
      - 5.0
    addEntryPointsLabels: true
    addServicesLabels: true
    entryPoint: metrics
    manualRouting: true

# ENTRYPOINTS #

entryPoints:
  web:
    address: ":80"
    http:
      redirections:
        entryPoint:
          to: websecure
          scheme: https
  websecure:
    address: ":443"
  metrics:
    address: ":8082"

# API #

api:
  dashboard: true

# LOGS #

log:
  filePath: "/logs/traefik.log"
  format: json
  level: WARN

accessLog:
  filePath: "/logs/access.log"
  format: json
  filters:
    statusCodes:
      - "200"
      - "300-302"
    retryAttempts: true
    minDuration: "15ms"

#// TODO
#tracing: {}

# LETS ENCRYPT #
certificatesResolvers:
  le:
    acme:
      email: contact@domain.com
      caServer: https://acme-v02.api.letsencrypt.org/directory
      storage: /letsencrypt/acme.json
      keyType: EC256
      #OnHostRule: true
      httpChallenge:
        entryPoint: web

# TLS #

tls:
  options:
    default:
      sniStrict: true
      minVersion: VersionTLS12
      cipherSuites:
        # https://ssl-config.mozilla.org/#server=traefik&version=2.1.2&config=intermediate&guideline=5.4
        - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
        - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
        - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
        - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
        - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
        - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
    mintls13:
      minVersion: VersionTLS13

# http directory #

# PROVIDER #

providers:
  docker:
    endpoint: "tcp://dockerproxy:2375"
    network: traefik
    exposedByDefault: false
    watch: true

```

Prometheus/grafana docker-compose :

```auto
version: '3.8'

services:
  prometheus:
    image: prom/prometheus:${PROMETHEUS_VERSION}
    container_name: prometheus
    volumes:
      - ./config/prometheus/:/etc/prometheus/
      - prometheus_data:/prometheus
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--storage.tsdb.path=/prometheus'
      - '--web.console.libraries=/usr/share/prometheus/console_libraries'
      - '--web.console.templates=/usr/share/prometheus/consoles'
    labels:
      - traefik.enable=true
      - traefik.frontend.rule=Host(`${PROMETHEUS_SUBDOMAIN}.${DOMAIN}`)
      - traefik.http.routers.prometheus.tls=true
      - traefik.http.routers.prometheus.tls.certresolver=le
      - traefik.http.routers.prometheus.middlewares=prometheus
      - traefik.http.middlewares.prometheus.basicauth.users=${PROMETHEUS_ACCOUNT}:${PROMETHEUS_PASSWORD}
      - traefik.port=9090
    networks:
      - monitoring
      - traefik

  grafana:
    image: grafana/grafana:${GRAFANA_VERSION}
    container_name: grafana
    depends_on:
      - prometheus
    volumes:
      - grafana_data:/var/lib/grafana
      - ./config/grafana/provisioning/:/etc/grafana/provisioning/
    #environment:
    # GF_LOG_LEVEL: 'debug'
    env_file:
      - .env
    networks:
      - monitoring
      - traefik
    ports:
      - 3000:3000
    labels:
      - traefik.enable=true
      - traefik.http.routers.grafana.entrypoints=web
      - traefik.http.routers.grafana.rule=Host(`${GRAFANA_SUBDOMAIN}.${DOMAIN}`)
      - traefik.http.middlewares.https-redirect.redirectscheme.scheme=websecure
      - traefik.http.routers.grafana-secure.entrypoints=websecure
      - traefik.http.routers.grafana-secure.rule=Host(`${GRAFANA_SUBDOMAIN}.${DOMAIN}`)
      - traefik.http.routers.grafana-secure.tls=true
      - traefik.http.routers.grafana-secure.tls.certresolver=le
      - traefik.http.routers.grafana-secure.service=grafana
      - traefik.http.services.grafana.loadbalancer.server.port=3000
      - traefik.docker.network=traefik
volumes:
  prometheus_data:
    name: prometheus_data
  grafana_data:
    name: grafana_data

networks:
  traefik:
  monitoring:

```

Do you have an idea about my problem?

---

<div class="post-metadata">

**Author:** ![Hujino](https://avatars.discourse-cdn.com/v4/letter/h/b2d939/32.png) [@Hujino](https://community.traefik.io/u/Hujino)\
**Post date:** [December 16, 2020, 3:18pm UTC](https://community.traefik.io/t/problem-with-prometheus-grafana-traefik-docker/9019/2 "2020-12-16T15:18:40Z")

</div>

I just saw the logs and I found this :

```auto
Could not find network named 'traefik' for container

```

I don't understand, yet I did declare the networks well

---

<div class="post-metadata">

**Author:** ![Kallikasa](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/kallikasa/32/3082_2.png) [@Kallikasa](https://community.traefik.io/u/Kallikasa)\
**Post date:** [December 16, 2020, 10:28pm UTC](https://community.traefik.io/t/problem-with-prometheus-grafana-traefik-docker/9019/3 "2020-12-16T22:28:25Z")

</div>

I have the same issue with different configs. As I get - in dashboard everything fine and I can curl any address on the host. But for some reason I get only time out ☹

---

<div class="post-metadata">

**Author:** ![Hujino](https://avatars.discourse-cdn.com/v4/letter/h/b2d939/32.png) [@Hujino](https://community.traefik.io/u/Hujino)\
**Post date:** [December 18, 2020, 10:35pm UTC](https://community.traefik.io/t/problem-with-prometheus-grafana-traefik-docker/9019/4 "2020-12-18T22:35:02Z")

</div>

I have corrected my problem.

Here is the solution :

docker-compose.yml - traefik

```auto
networks:
 socket-docker:
 traefik:
   external: true
 monitoring:
   external: true

```

docker-compose grafana/prometheus :

```auto
networks:
  traefik:
    external: true
  monitoring:
    external: true

```

I'm looking to do custom port while having a valid certificate.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex020/uploads/containo/original/2X/b/bd81ebdb578656e76e56ff3cc3eed021d3ba132d.png) [@system](https://community.traefik.io/u/system)\
**Post date:** [December 21, 2020, 10:35pm UTC](https://community.traefik.io/t/problem-with-prometheus-grafana-traefik-docker/9019/5 "2020-12-21T22:35:06Z")

</div>

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.
