在两台服务器上的docker上运行ELK stack

在两台服务器上的docker上运行ELK stack,docker,elk,Docker,Elk,我想在docker上运行ELK,所以我在一台服务器上运行ELK堆栈和filebeat容器,项目在另一台服务器上运行 如何将项目日志文件传输到ELK运行服务器?最后,我找到了如下解决方案。如果你有其他想法,请推荐我 我在一台服务器上运行Logstash、Elasticsearch和Kibana的图像 注意:我没有在此服务器上运行filebeat映像 在Filebeat配置文件中,我们设置 filebeat的IP地址和日志存储端口如下所示: 在另一台服务器上运行 output.logstash:

我想在docker上运行ELK,所以我在一台服务器上运行ELK堆栈和filebeat容器,项目在另一台服务器上运行


如何将项目日志文件传输到ELK运行服务器?

最后,我找到了如下解决方案。如果你有其他想法,请推荐我

  • 我在一台服务器上运行Logstash、Elasticsearch和Kibana的图像 注意:我没有在此服务器上运行filebeat映像

  • 在Filebeat配置文件中,我们设置 filebeat的IP地址和日志存储端口如下所示: 在另一台服务器上运行

    output.logstash:
      hosts: ["ELK Server IP:5044"]
    
  • 现在,我为filebeat创建了一个组合文件,如下所示

    version: '2.2'
    services:
     filebeat:
        build:
          context: filebeat /
        volumes:
          # needed to access all docker logs (read only):
         - "/var/lib/docker/containers:/usr/share/dockerlogs/data:ro"
          # needed to access additional information about containers
         - "/var/run/docker.sock:/var/run/docker.sock"
        #cpu_count: 1
        cpus: 0.5
        mem_limit: 2G
    
  • 我使用这些设置运行filebeat的图像并编写 运行项目的服务器上的文件


  • 通过这些设置,Filebeat可以从“/var/lib/docker/containers”读取日志文件,并使用“hosts:[“ELK Server IP:5044”]”将日志文件传送到日志库。

    使用卷和卷挂载另一个选项是使用Filebeat参考此存储库有关ELK的信息