我应该如何replaceDocker Swarm中的IP引用

我正在尝试在Docker Swarm模式下安装ELK。

然后,我需要告诉filebeat发送日志到logstash。

这是我的filebeatconfiguration文件:

#=========================== Filebeat prospectors ============================= ## Each - is a prospector. Most options can be set at the prospector level, so ## you can use different prospectors for various configurations. ## Below are the prospector specific configurations. filebeat.prospectors: - input_type: log enabled: true paths: {% for log in in_filebeat_dict.filebeat.logs | default([]) %} - {{ log }} {% endfor %} #================================ Outputs ===================================== # Configure what output to use when sending the data collected by the beat. output.logstash: hosts: ["{{ in_filebeat_dict.filebeat.output.logstash }}:{{ in_filebeat_dict.filebeat.output.port}}"] 

in_filebeat_dict.filebeat.output.logstash是一个IP,在Swarm模式下,Swarm将不会决定在哪里安装容器,所以我有in_filebeat_dict.filebeat.output.logstash在这里…

有任何想法吗 ???

在swarm模式下,通过ne --name参数进行查找。 因此,当您使用--name logstash部署logstash时,其他服务可以通过调用名称logstash来访问它。 但请记住,他们需要在同一个networking,而不是入口。 如果尚未完成,请创build新的覆盖networking,并将所有服务都分配给该networking。