From 7e9fe5b998f2cf86951df3f443714beb413d63fb Mon Sep 17 00:00:00 2001 From: Bret Fisher Date: Thu, 3 Jan 2019 22:40:05 -0500 Subject: [PATCH] improved logging with yaml template also added verbose logging for traefik --- stack-proxy-global.yml | 34 +++++++++++++++++++--------------- stack-visualizer.yml | 15 +++++++++++---- stack-voting.yml | 42 +++++++++++++++++++----------------------- 3 files changed, 49 insertions(+), 42 deletions(-) diff --git a/stack-proxy-global.yml b/stack-proxy-global.yml index 15b0b71..22ec6f6 100644 --- a/stack-proxy-global.yml +++ b/stack-proxy-global.yml @@ -15,9 +15,19 @@ version: '3.7' +x-default-opts: + &default-opts + logging: + options: + max-size: "1m" + # driver: "gelf" + # options: + # gelf-address: "udp://127.0.0.1:5000" + services: traefik-init: + <<: *default-opts image: traefik:1.7-alpine networks: - traefik-consul @@ -25,6 +35,10 @@ services: # Use your favourite settings here, but add: - storeconfig - --api + # NOTE: you'll want to lower this logLevel for real word stuff + - --logLevel="DEBUG" + # NOTE: you'll want to disable this for anything of signifant traffic, or route logs outside stdout + - --accessLog - --docker - --docker.endPoint=http://dockersocket:2375 - --docker.swarmMode @@ -50,11 +64,9 @@ services: deploy: restart_policy: condition: on-failure - logging: - options: - max-size: "500k" traefik: + <<: *default-opts image: traefik:1.7-alpine networks: - proxy @@ -82,11 +94,9 @@ services: # if you have enough servers, make this only run on workers, maybe in a public DMZ # placement: # constraints: [node.role == worker] - logging: - options: - max-size: "500k" consul: + <<: *default-opts image: consul command: agent -server -bootstrap-expect=1 networks: @@ -97,17 +107,13 @@ services: - CONSUL_LOCAL_CONFIG={"server":true} - CONSUL_BIND_INTERFACE=eth0 - CONSUL_CLIENT_INTERFACE=eth0 - deploy: - replicas: 1 - logging: - options: - max-size: "500k" # this custom haproxy allows us to move traefik to worker nodes # while this container listens on managers and only allows # traefik to connect, read-only, to limited docker api calls # https://github.com/Tecnativa/docker-socket-proxy dockersocket: + <<: *default-opts image: tecnativa/docker-socket-proxy networks: - traefik-docker @@ -123,13 +129,11 @@ services: mode: global placement: constraints: [node.role == manager] - logging: - options: - max-size: "500k" volumes: consul: - driver: rexray/dobs + driver: ${DOCKER_VOL_DRIVER:-local} + # for example set DOCKER_VOL_DRIVER="rexray/dobs" driver_opts: size: 1 diff --git a/stack-visualizer.yml b/stack-visualizer.yml index 2bf103b..d46642d 100644 --- a/stack-visualizer.yml +++ b/stack-visualizer.yml @@ -1,8 +1,19 @@ version: '3' +x-default-opts: &default-opts: + logging: + options: + max-size: "1m" + + # logging: + # driver: "gelf" + # options: + # gelf-address: "udp://127.0.0.1:5000" + services: viz: + <<: *default-opts image: dockersamples/visualizer deploy: replicas: 1 @@ -12,8 +23,4 @@ services: - /var/run/docker.sock:/var/run/docker.sock ports: - 4040:8080 - logging: - options: - max-size: "500k" - diff --git a/stack-voting.yml b/stack-voting.yml index 4f77431..60c6b96 100644 --- a/stack-voting.yml +++ b/stack-voting.yml @@ -1,8 +1,18 @@ version: '3.7' +x-default-opts: + &default-opts + logging: + options: + max-size: "1m" + # driver: "gelf" + # options: + # gelf-address: "udp://127.0.0.1:5000" + services: redis: + <<: *default-opts image: redis:alpine command: redis-server --appendonly yes volumes: @@ -11,12 +21,9 @@ services: - frontend deploy: endpoint_mode: dnsrr - # logging: - # driver: "gelf" - # options: - # gelf-address: "udp://127.0.0.1:5000" - + db: + <<: *default-opts image: postgres:9.6 volumes: - db-data:/var/lib/postgresql/data @@ -24,12 +31,9 @@ services: - backend deploy: endpoint_mode: dnsrr - # logging: - # driver: "gelf" - # options: - # gelf-address: "udp://127.0.0.1:5000" vote: + <<: *default-opts image: bretfisher/examplevotingapp_vote networks: - frontend @@ -40,12 +44,9 @@ services: - traefik.port=80 - traefik.docker.network=proxy - traefik.frontend.rule=Host:vote.dogvs.cat - # logging: - # driver: "gelf" - # options: - # gelf-address: "udp://127.0.0.1:5000" result: + <<: *default-opts image: bretfisher/examplevotingapp_result networks: - backend @@ -57,22 +58,15 @@ services: - traefik.docker.network=proxy - traefik.frontend.rule=Host:result.dogvs.cat - traefik.backend.loadbalancer.stickiness=true - # logging: - # driver: "gelf" - # options: - # gelf-address: "udp://127.0.0.1:5000" worker: + <<: *default-opts image: bretfisher/examplevotingapp_worker:java networks: - frontend - backend deploy: replicas: 2 - # logging: - # driver: "gelf" - # options: - # gelf-address: "udp://127.0.0.1:5000" networks: frontend: {} @@ -82,11 +76,13 @@ networks: volumes: db-data: - driver: rexray/dobs + driver: ${DOCKER_VOL_DRIVER:-local} + # for example set DOCKER_VOL_DRIVER="rexray/dobs" driver_opts: size: 1 redis-data: - driver: rexray/dobs + driver: ${DOCKER_VOL_DRIVER:-local} + # for example set DOCKER_VOL_DRIVER="rexray/dobs" driver_opts: size: 1