Open sandys opened 5 years ago
the docker template tags for swarm and compose are fairly different. it took my quite a while to figure out.
the source documentation is here - https://docs.docker.com/engine/reference/commandline/service_create/#create-services-using-templates
a working, reasonable logspout configuration for swarm is
logspout: image: gliderlabs/logspout:latest networks: - logging volumes: - /etc/hostname:/etc/host_hostname:ro - /var/run/docker.sock:/var/run/docker.sock environment: - SYSLOG_TAG="{{index .Service.Name}}" - SYSLOG_HOSTNAME="{{index .Node.Hostname}}" - INACTIVITY_TIMEOUT=1m - BACKLOG=false - SYSLOG_STRUCTURED_DATA="logdna@48950 key=\"12345\" tag=\"swarm,stacks\"" - LOGSPOUT=ignore command: multiline+syslog+tls://syslog-a.logdna.com:44533 deploy: mode: global resources: limits: cpus: '0.20' memory: 50M reservations: cpus: '0.10' memory: 50M```
I have a problem using this config, {{index .Service.Name}} resolves to the logspout service name, I want to tag every log entry with the service name of the container that created the log. Any advise?
{{index .Service.Name}}
the docker template tags for swarm and compose are fairly different. it took my quite a while to figure out.
the source documentation is here - https://docs.docker.com/engine/reference/commandline/service_create/#create-services-using-templates
a working, reasonable logspout configuration for swarm is