Filebeat#

VFS#

首先,看看 Linux 的虚拟文件系统 VFS 的基本概念:

这里,一点需要注意的是:如果文件被 filebeat 打开后,应用的 logback 可以在目录中删除了日志文件。但文件内容(inode)其实并未删除, filebeat 可以继续读取删除了的文件。logback 可以在目录中新建与原来文件名相同的文件。即这种情况下,被删除的文件是 headless(file’s stat.NLink==0) 的。

如果删除的文件已经没有进程打开,那么在 xfs 文件系统下,inode id 会很快被重用。即很可能新文件的 inode id 与刚被删除的文件相同: The XFS inode allocation algorithm aggressively reuses recently freed inodes. This is historical behavior that has been in place for quite some time, since XFS was imported to mainline Linux

配置#

然后看看 filebeat 的一些配置与其关系:

用 Draw.io 打开

运行期组件#

用 Draw.io 打开

更优秀的文章#