简体   繁体   中英

How to send logs to Graylog (Docker)?

I'm new to both Docker and Graylog. Can anyone show me an example of how to send log data to the Graylog server?

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM