我正在使用filebeat image - docker.elastic.co/beats/filebeat:5.4.1在Windows上本地设置filebeat容器以从应用程序读取日志并将数据发送到logstash。生成日志的应用程序将在1MB'之后旋转它。大小
我担心的是, - 当filebeat容器正在读取文件时,应用程序无法在1MB大小后旋转日志文件。
如果我将filebeat作为服务运行(不在docker中),它按预期工作,即日志在1MB后旋转。
我该如何避免这种情况?
编辑:只是为了获取信息,如果它有帮助,我在linux中看不到这个问题。 Docker filebeat容器允许应用程序旋转文件。
答案 0 :(得分:0)
这是回应 - " VBoxHeadless.exe用RW-打开日志文件,我说是VirtualBox使用的共享文件系统应该受到责备。它没有使用FILE_SHARE_DELETE打开文件,因此其他应用程序无法删除或重命名文件。"
所以它的VirtualBox是持有文件的文件处理程序,而不是持有句柄的filebeat。
我得到的一个建议是在Windows上创建docker VM时尝试使用Hyper-V驱动程序而不是VirtualBox驱动程序。
正如我在查询中提到的,它不会发生在linux docker上,因为那里没有VM。