如何将日志发送到Graylog(Docker)?

Sha*_*jee 4 logging elasticsearch logstash graylog2 graylog

我是Docker和Graylog的新手.谁能告诉我一个如何将日志数据发送到Graylog服务器的示例?

Pau*_*ber 8

实际上,这很容易!Graylog首选的日志格式 - GELF - 本身由Docker支持.因此,如果您已经使用Docker日志(Docker的内部日志记录功能),您可以使用Docker的内置支持,将所有日志从容器转发到指定的GELF端点.您必须在Graylog服务器上创建GELF UDP输入.

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

对于运行从将所有日志Graylog通过GELF只是使用选项命令行的容器log-drivergelf-address:

docker run -dit \
--log-driver=gelf \
--log-opt gelf-address=udp://192.168.0.42:12201 \
alpine sh
Run Code Online (Sandbox Code Playgroud)

  • 在生产中使用gelf驱动程序时,应考虑以下问题:https://blog.docker.com/2017/02/adventures-in-gelf/ (2认同)

use*_*164 3

如果 Graylog 公开了 syslog 侦听器,您可以使用 Docker syslog 日志记录驱动程序发送它们。但既然你说你是 Graylog 的新手,请看一下https://github.com/sematext/sematext-agent-docker,它应该以最小的努力为你工作,并且还能够捕获 Docker 指标和事件,而不是只是日志,这很方便。