How to send logs to Graylog (Docker)? How to send logs to Graylog (Docker)? elasticsearch elasticsearch

How to send logs to Graylog (Docker)?


Actually, it is pretty easy! Graylog's preferred Log Format - GELF - is supported by Docker natively. So if you are using Docker logs already (Docker's internal logging functionality) you can just use Docker's built-in support, that will forward all logs from your container to the specified GELF endpoint. You will have to create a GELF UDP input on the Graylog server.

https://docs.docker.com/engine/admin/logging/overview/

For running a container from command line that sends all logs to Graylog via GELF just use the options log-driver and gelf-address:

docker run -dit \--log-driver=gelf \--log-opt gelf-address=udp://192.168.0.42:12201 \alpine sh


If Graylog exposes a syslog listener you could send them with Docker syslog logging driver. But since you say you are new to Graylog, have a look at https://github.com/sematext/sematext-agent-docker which should work for you with minimal effort and will be able to also capture Docker metrics and events, not just logs, which is handy.