logstash死机重启时会插入重复文件吗
Will logstash insert duplicate documents when restarting after a crash
在 Logstash 崩溃或无法访问 Elasticsearch 服务器的情况下,我可能必须重新启动 Logstash 并开始处理插入到 Elasticsearch 中途的文件。
Logstash 是否记得上次处理日志文件中的哪一行并从它停止的地方继续,还是会插入重复的文档?
我怀疑 _id
可能是由文件和行号生成的散列以避免重复,但我不确定。
读取文件的 Elastic 产品(logstash、filebeat 或较旧的 logstash-forwarder)会记住它们在所读取文件中的位置。
如果 pipeline 备份,每个组件将停止发送更多日志,直到拥塞消除。
管道中会有日志 "stuck"。 IIRC,logstash 队列是 20 个事件。如果您在 logstash 可以写入之前终止它,您将丢失这些事件。他们正在努力使 logstash2 变得更好,但没有成功。
因此,丢失一些文件的风险大于获得重复文件的风险。
在 Logstash 崩溃或无法访问 Elasticsearch 服务器的情况下,我可能必须重新启动 Logstash 并开始处理插入到 Elasticsearch 中途的文件。
Logstash 是否记得上次处理日志文件中的哪一行并从它停止的地方继续,还是会插入重复的文档?
我怀疑 _id
可能是由文件和行号生成的散列以避免重复,但我不确定。
读取文件的 Elastic 产品(logstash、filebeat 或较旧的 logstash-forwarder)会记住它们在所读取文件中的位置。
如果 pipeline 备份,每个组件将停止发送更多日志,直到拥塞消除。
管道中会有日志 "stuck"。 IIRC,logstash 队列是 20 个事件。如果您在 logstash 可以写入之前终止它,您将丢失这些事件。他们正在努力使 logstash2 变得更好,但没有成功。
因此,丢失一些文件的风险大于获得重复文件的风险。