Имя хоста, использующее необработанный адаптер Logspout для отправки журналов Docker
Я пытаюсь отправить журналы на удаленный компьютер, используя необработанный адаптер. На моей машине журнала я использую ELK (logstash). Я получил имя контейнера в шаблоне go, но не могу правильно получить имя хоста. Поле "host" - это номер IP вместо имени хоста. Я попытался получить имя хоста в go-шаблоне, используя переменную raw_format следующим образом:
"RAW_FORMAT={ "container": {{ toJSON .Container.Name }},"message": {{ toJSON .Data }},"hostname": {{ toJSON .Container.Config.Hostname }} }\n" but i receive "localhost"
вот мой файл docker-compose.yaml
networks:
logging:
services:
logspout:
image: gliderlabs/logspout:v3.2.12
command: 'raw+tcp://some.addres:5000'
environment:
- DEBUG=1
- "RAW_FORMAT={ "container": {{ toJSON .Container.Name }},"message": {{ toJSON .Data }},"hostname": {{ toJSON .Container.Config.Hostname }} }\n"
volumes:
- /etc/hostname:/etc/hostname
- /etc/hosts:/etc/hosts
- /var/run/docker.sock:/var/run/docker.sock
networks:
- logging```