为 Docker Logstash 映像设置日志位置
Setting up logs location for Docker Logstash image
我正在尝试为 Logstash
与自定义 http
交互创建 Docker
图像。想知道为 Logstash
将读取的日志位置设置物流的方法。
Logstash
进程在 EC2 上运行,并将使用基于文件的输入从 Apache、HAProxy、Jboss 应用程序读取。
如果有人能对此提供更多信息,我们将不胜感激。
由 Apache、HAProxy、Jboss 生成的日志文件以及您希望通过 Logstash Docker 容器获取的任何其他内容应保留在它们通常所在的位置,并特别引用在 docker 运行 命令中。你获得:
- 无需更改您当前的服务配置。
- 不必 remember/locate 主机上的日志文件以防万一出现问题并且您需要直接访问文件本身。它们将位于您习惯的相同位置。
您需要做的是将日志文件从它们所在的位置映射到 运行ning 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 配置在以下位置查找文件:
- /host/logs/haproxy_error.log
- /host/logs/apache_access.log
- /host/logs/some_other_log.log
您可以查看我是如何为 Logz.io log shipper Docker 图像执行类似于此映射的操作的。
我正在尝试为 Logstash
与自定义 http
交互创建 Docker
图像。想知道为 Logstash
将读取的日志位置设置物流的方法。
Logstash
进程在 EC2 上运行,并将使用基于文件的输入从 Apache、HAProxy、Jboss 应用程序读取。
如果有人能对此提供更多信息,我们将不胜感激。
由 Apache、HAProxy、Jboss 生成的日志文件以及您希望通过 Logstash Docker 容器获取的任何其他内容应保留在它们通常所在的位置,并特别引用在 docker 运行 命令中。你获得:
- 无需更改您当前的服务配置。
- 不必 remember/locate 主机上的日志文件以防万一出现问题并且您需要直接访问文件本身。它们将位于您习惯的相同位置。
您需要做的是将日志文件从它们所在的位置映射到 运行ning 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 配置在以下位置查找文件:
- /host/logs/haproxy_error.log
- /host/logs/apache_access.log
- /host/logs/some_other_log.log
您可以查看我是如何为 Logz.io log shipper Docker 图像执行类似于此映射的操作的。