Filebeat的Registry文件解读
你可能没有注意但很重要的filebeat小知识 Registry文件 Filebeat会将自己处理日志文件的进度信息写入到registry文件中,以保证filebeat在重启之后能够接着处理未处理过的数据,而无需从头开始 registry文件内容为一个list,list里的每个元素都是一个字典,字典的格式如下: { "source": "/home/logs/app/exception.log", "offset": 8137, "FileStateOS": { "inode": 1048, "device": 29 }, "timestamp": "2019-03-28T13:31:10.87878789+08:00", "ttl": -1 } 每个字段的意义解释: source: 记录采集日志的完整路径 offset: 采集这个日志文件到了哪个位置,总采集字节数 inode: 日志文件的inode号,关于inode的详细解释看下文 device: 日志所在的磁盘编号,下文 stat 命令中Device的值 timestamp: 日志最后一次发生变化的时间戳 ttl: 采集失效时间,-1表示永不失效 Filebeat在每次启动时都会来读取这个文件,如果文件不存在则会创建新文件 inode相关知识 硬盘格式化的时候,操作系统自动将硬盘分成了两个区域。 一个是数据区