Docker - logging the container id

Hi,

I'm running filebeat 6.3 as a container on my machine, watching /var/lib/docker/containers//.log (mapped as a volume), and collecting all the logs of all the containers in that machine.

In order to distinguish between the different containers, I add labels to each containers, and make sure they are logged. For example:

labels:
env: "PROD"
service: "my-service"
logging:
driver: "json-file"
options:
labels: "env,service"

This makes the fields pop in the log line, under attrs. What I'm missing, is a way to have a label for the container id, so I can distinguish between different containers of the same kind. Is there a way to add it to the log?

I tried add_docker_metadata but it doesn't seem to work - probably because filebeats is inside a container and not on the host?

Thanks,

Tal

add_docker_metadata is the right tool to use here. You must make sure that your container has access to the docker socker so probably mount it as volume into your container.

1 Like

Thanks, I tried it before and it didn't work, but with the renewed confidence that docker_metadata should work even when inside a container, I managed to find a configuration that works. Now it's great!

Tal

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