目前采用架构:filebeat -> logstash -> elasticsearch收集日志到es。
为了避免出现收集重复,也为了更好地定位丢失了哪几条日志,决定在入es时,给每条日志指定_id = md5(inode_offset)。
但是现在只能拿到source,即文件名,不过文件名是不靠谱的,因为对于先写xx.log,再把xx.log重命名为xx.log.2的情况,它会有问题。
所以想知道如何才能拿到文件的inode?
为了避免出现收集重复,也为了更好地定位丢失了哪几条日志,决定在入es时,给每条日志指定_id = md5(inode_offset)。
但是现在只能拿到source,即文件名,不过文件名是不靠谱的,因为对于先写xx.log,再把xx.log重命名为xx.log.2的情况,它会有问题。
所以想知道如何才能拿到文件的inode?
1 个回复
lbx6z
赞同来自:
令_id = md5(timestamp_offset),基本能够保证唯一。
不过之前有一些日志没有时间字段,所以觉得还是用inode比较合适。