我只是将解析后的数据从logstash输出到mongodb中,但有什么方法可以告诉日志何时完成解析,以便我可以杀死logstash?由于正在处理大量日志,我无法对我的数据进行调度。
答案 0 :(得分:0)
由于您使用的是文件输入,因此某处应该有一个.sincedb
文件。该文件记录已解析的行数。据我所知,它的结构是这样的:
INODE_NUMBER CURRENT_LINE_NUMBER
inode编号标识一个文件(因此,如果您正在解析多个文件,或者如果您的文件正在翻转,则会有多行)。另一个数字就像是一个书签,用于记住它已经读过的内容(如果你要多次进行同一个文件)。所以基本上,当这个数字停止向上移动时,这应该意味着logstash已经完成解析文件。
或者,如果您没有设置多线过滤器,您只需将文件所包含的行数与mongodb中的记录数进行比较。
第三种可能性,你可以设置另一个输出,不一定是标准输出,这可能是一个管道到一个脚本,它会简单地丢弃数据并在一段时间后没有什么新东西时打印一条消息,或者其他一些替代方案,请参阅docs。