Docker Community Forums

Share and learn in the Docker community.

Logging Driver multiple destinations ... and Docker remote logging fragility

docker

(Archbungle) #1

Hi

I’m running docker 18+ on ubuntu 16.04 and am testing fluentd remote logging docker engine is configured to send logs to a fluentd server. The problem I’m seeing is that docker containers fail to run if the fluentd server is unavailable the docker engine itself will panic and crash if it cannot reach the fluentd server. This is is absolutely undesirable behaviour.

I’ve looked for the following options:

  1. Can docker fluentd driver accept multiple failover destinations for “fluentd-server” and perhaps do the detection and failover to a running fluent server
  2. Perhaps log to file on the docker host while the fluentd server is unavailable
  3. Just retry forever and buffer or drop logs while fluentd is unavailable

So far I’ve been able to configure options for 3) however, ideally I’d like to have option 2 and next best option 1)

Does docker support multiple failover logging drivers perhaps, or a solution which would achieve the same net effect in a production environment?

Unfortunately, docker daemon itself panics and shuts down if it cannot reach the fluentd logging server, as described here:

https://github.com/moby/moby/isasues/32567

If the fluentd logging driver supported multiple fluent logging destinations, docker could failover to the next server without crashing.

Many thanks in advance,
Traiano