正在尝试为Docker
与自定义Logstash
互动创建http
图片。想知道为Logstash
将要读取的日志位置设置物流的方法是什么。
Logstash
进程在EC2上运行,并将使用基于文件的输入从Apache,HAProxy,Jboss应用程序中读取。
如果有人能够更多地了解这一点,我将非常感激。
答案 0 :(得分:7)
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容器中的Logstash配置在以下位置查找文件:
您可以查看我是如何为Logz.io log shipper Docker镜像执行与此映射类似的操作。