Logging 为Docker Logstash映像设置日志位置

Logging 为Docker Logstash映像设置日志位置,logging,amazon-ec2,docker,logstash,logstash-configuration,Logging,Amazon Ec2,Docker,Logstash,Logstash Configuration,我正在尝试为Logstash与自定义http交互创建Docker图像。想知道如何为Logstash将读取的日志位置设置物流。 Logstash进程在EC2上运行,将使用基于文件的输入从Apache、HAProxy和Jboss应用程序读取数据。 如果有人能提供更多信息,我们将不胜感激。由Apache、HAProxy、Jboss生成的日志文件以及您希望使用Logstash Docker容器获取的任何其他文件应该放在它们通常所在的位置,并在Docker run命令中特别引用。您将获得: 不必更改当前的

我正在尝试为
Logstash
与自定义
http
交互创建
Docker
图像。想知道如何为
Logstash
将读取的日志位置设置物流。
Logstash
进程在EC2上运行,将使用基于文件的输入从Apache、HAProxy和Jboss应用程序读取数据。
如果有人能提供更多信息,我们将不胜感激。

由Apache、HAProxy、Jboss生成的日志文件以及您希望使用Logstash Docker容器获取的任何其他文件应该放在它们通常所在的位置,并在Docker run命令中特别引用。您将获得:

  • 不必更改当前的服务配置
  • 不必记住/定位主机上的日志文件,以防出现问题,您需要直接访问文件本身。它们将在你习惯的地方
  • 您需要做的是将日志文件从它们所在的位置映射到正在运行的docker容器。您可以对容器中的同一个目录执行此操作,也可以对单独的目录执行此操作,这取决于您自己。如果没有任何文件名冲突,我会将所有文件映射到容器内的同一目录。例如:

    docker run -v /var/log/haproxy/error.log:/host/logs/haproxy_error.log \
               -v /var/log/httpd/access_log:/host/logs/apache_access.log \
               -v /var/log/some_other_log.log:/host/logs/some_other_log.log \
    my-logstash-docker-image:latest
    
    您必须确保Docker容器内的日志存储配置在以下位置查找文件:

    • /主机/logs/haproxy_error.log
    • /host/logs/apache_access.log
    • /host/logs/some_other_log.log
    您可以查看我是如何为Docker图像执行类似于此映射的操作的