我有一个带有Docker容器的Logstash设置,如下所示:
Server A
[Docker container] Logstash
[Docker container] Elasticsearch
[Docker container] Kibana
Server B
[Docker container] My application
[Docker container] Logstash-forwarder服务器B上的Logstash -转发器将所有My application日志发送到服务器A上的Logstash。这很好,但是每个日志消息都有Docker容器的主机名(这是容器的ID ),例如:
host = 6c7f900f6b46因为运行在一个Docker容器中,它将看到的主机名(对于自己)就是容器中的主机名。但这对我不是很有用。如何使用码头主机的主机名?
发布于 2014-05-12 20:25:23
没有API (截至Docker远程API v1.11)可以从容器中以编程方式获取Docker主机名。
您可以在运行容器docker run --hostname=时显式设置容器的主机名,也可以在运行时使用Docker主机名设置环境变量,并在日志中传递该值(docker --env=)。
https://stackoverflow.com/questions/23609195
复制相似问题