猿问

如何强制Logstash重新分析文件?

如何强制Logstash重新分析文件?

我安装了Logstash来解析apache文件。我花了很多时间来设置正确的,我总是尝试真正的日志。我注意到(正如文档所说)logstash“记住”它在文件中的位置。现在我的设置很好,我希望Logstash“忘记”。这似乎比我更难。我已经做了以下事情:

  • 用过的: start_position => "beginning"

  • 从elastissearch中删除了完整的“数据”文件夹(并先将其停止)

  • 看看logstash打开哪些文件lsof -p PID并删除了所有有希望的东西(在我的例子中/tmp/jffi*.tmp

Logstash仍然不会忘记并解析日志所在文件夹中的“新鲜”文件

有任何想法吗?


守着星空守着你
浏览 3555回答 3
3回答

米琪卡哇伊

默认情况下,logstash将最后的位置写入通常驻留的日志文件中$HOME/.sincedb。可以愚弄Logstash,使其相信它从未通过指定/dev/nullas 来解析日志文件sincedb_path。这里是文档输入文件的一部分。在哪里写入自己的数据库(跟踪受监视日志文件的当前位置)。默认为环境变量“$ SINCEDB_PATH”或“$ HOME / .sincedb”的值。配置示例input {     file {         path => "/tmp/logfile_to_analyse"         start_position => "beginning"         sincedb_path => "/dev/null"     }}

临摹微笑

Logstash将保留记录$HOME/.sincedb_*。您可以删除所有.sincedb并重新启动logstash,Logstash将重新解析该文件。
随时随地看视频慕课网APP
我要回答