Hi,
I’m trying to get the gelf driver to work from inside my compose so that I can push logs toward logstash. If I run a container by hand with docker run, it starts logging to logstash. If I use the same options in my docker-compose.yml, the container starts with: WARNING: no logs are available with the ‘gelf’ driver.
My yaml looks like:
log_driver: gelf
log_opt:
gelf-address:udp://localhost:12201
gelf-tag: thing
So I know that my logstash is listening and that there isn’t anything inherently wrong with docker and gelf. So what am I doing wrong?
thanks!
Carey
1 Like
I am having this same problem. Using version two formatting:
logging:
driver: gelf
options:
gelf-address: "udp://log.servername.com:514"
Weird thing is it worked yesterday when tested with a simple nginx container. That same container on a different machine did not work today.
Docker version:
Client:
Version: 1.10.0
API version: 1.22
Go version: go1.5.3
Git commit: 590d5108
Built: Thu Feb 4 18:36:33 2016
OS/Arch: linux/amd64
Server:
Version: 1.10.0
API version: 1.22
Go version: go1.5.3
Git commit: 590d5108
Built: Thu Feb 4 18:36:33 2016
OS/Arch: linux/amd64
ksrb
(Kevin Suen)
September 7, 2017, 12:45am
3
For those stumbling upon this thread in the future I was having issue with this as well and this gist helped: How to send containers log to ELK using gelf log driver · GitHub
Specifically the line:
Careful, the address to send the log is relative to the docker host, not the container!
So I ended up with something like:
logging:
driver: gelf
options:
gelf-address: "udp://localhost:12201"
mahmut716
(Muhammed Ozbilici)
March 7, 2020, 11:16am
4
I am using same configuration, but instead of udp, it’s tcp and I can’t see exceptions log at Graylog stream, that it get when on container start