我应该如何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。