为何inode未变化时Fluent Bit仍重复读取已轮转日志文件?
问题:Fluent Bit v4.1.1 tail插件重复读取已轮转的Logback日志
环境与日志轮转规则
- 使用Fluent Bit v4.1.1的
tail输入插件收集Logback生成的应用日志 - 日志轮转规则:
test.log重命名为test.2025-11-08.0.log- 随后创建新的
test.log
Fluent Bit inotify追踪日志
[2025/11/08 16:15:32.65692469] [ info] [input:tail:tail.0] inode=92276569 handle rotation(): /test.log => /test.2025-11-08.0.log [2025/11/08 16:15:32.65803710] [ info] [input:tail:tail.0] inotify_fs_remove(): inode=92276569 watch_fd=1 [2025/11/08 16:15:32.65896291] [ info] [input:tail:tail.0] inotify_fs_add(): inode=92276569 watch_fd=2 name=/test.2025-11-08.0.log [2025/11/08 16:15:32.66060215] [ info] [input:tail:tail.0] inotify_fs_add(): inode=92276570 watch_fd=3 name=/test.log [2025/11/08 16:16:32.415373474] [ info] [input:tail:tail.0] inotify_fs_remove(): inode=92276569 watch_fd=2 [2025/11/08 16:16:33.359858992] [ info] [input:tail:tail.0] inotify_fs_add(): inode=92276569 watch_fd=4 name=/test.2025-11-08.0.log
问题现象
尽管相同路径和inode已有DB记录,Fluent Bit仍重复读取已轮转文件(test.2025-11-08.0.log)。查看/fluent-bit/db/test.db的in_tail_files表:
1|/test.2025-11-08.0.log|209718068|92276569|1762618237|1 2|/test.log|40541711|92276570|1762618532|0 3|/test.2025-11-08.0.log|209718068|92276569|1762618592|0
行#1已标记rotated=1,但行#3重复出现相同inode/路径,导致Fluent Bit再次读取该文件。
内容的提问来源于stack exchange,提问作者Tiger
相关产品推荐
相关产品推荐

