Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch windows上运行的官方Filebeat docker不允许应用程序旋转日志_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Docker_Filebeat - Fatal编程技术网 elasticsearch windows上运行的官方Filebeat docker不允许应用程序旋转日志,elasticsearch,docker,filebeat,elasticsearch,Docker,Filebeat" /> elasticsearch windows上运行的官方Filebeat docker不允许应用程序旋转日志,elasticsearch,docker,filebeat,elasticsearch,Docker,Filebeat" />

elasticsearch windows上运行的官方Filebeat docker不允许应用程序旋转日志

elasticsearch windows上运行的官方Filebeat docker不允许应用程序旋转日志,elasticsearch,docker,filebeat,elasticsearch,Docker,Filebeat,我使用filebeat image-docker.elastic.co/beats/filebeat:5.4.1在windows上本地设置filebeat容器,从应用程序读取日志并将数据发送到logstash。生成日志的应用程序将在“1MB”大小之后对其进行旋转 我已将关闭设置为2米。因此,filebeat在2分钟后释放句柄 当应用程序停止写入数据并从文件中读取所有数据时,文件句柄被释放。这是意料之中的 我担心的是,, -当filebeat容器读取文件时,应用程序无法在1MB大小之后旋转日志

我使用filebeat image-docker.elastic.co/beats/filebeat:5.4.1在windows上本地设置filebeat容器,从应用程序读取日志并将数据发送到logstash。生成日志的应用程序将在“1MB”大小之后对其进行旋转

  • 我已将关闭设置为2米。因此,filebeat在2分钟后释放句柄
  • 当应用程序停止写入数据并从文件中读取所有数据时,文件句柄被释放。这是意料之中的
我担心的是,, -当filebeat容器读取文件时,应用程序无法在1MB大小之后旋转日志文件

如果我将filebeat作为服务运行(而不是在docker内部),它将按预期工作,即日志在1MB之后旋转

我怎样才能避免这种情况


编辑:仅供参考,如果有帮助的话,我在linux中看不到这个问题。Docker filebeat容器允许应用程序旋转文件

我是根据与elastic团队成员在以下地点的讨论得出这个答案的——

这是响应——“VBoxHeadless.exe使用RW打开了日志文件-,我认为是VirtualBox使用的共享文件系统造成的。它没有使用file_SHARE_DELETE打开文件,因此其他应用程序无法删除或重命名该文件。”

因此,是VirtualBox持有文件的filehandler,而不是filebeat持有句柄

我得到的一个建议是,在windows上创建docker VM时,尝试使用Hyper-V驱动程序而不是VirtualBox驱动程序


正如我在查询中提到的,linux docker上不会出现这种情况,因为那里没有虚拟机。

这里是弹性论坛中讨论这个问题的链接-