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

By simon at 2018-02-28 • 0人收藏 • 62人看过

我安装了Logstash来解析apache文件。我花了相当多的时间才得到 正确的设置,我总是尝试在真正的日志。我注意到(如 文档说),logstash“记住”它在文件中的位置。现在我的 setings是好的,我想Llogstash为“忘记”。这似乎比我更难 虽然。我已经做了以下:使用:start_position => "beginning" *删除完成来自elastissearch的e“data”文件夹(并先停止它)   查看哪些文件通过logstash以lsof -p PID打开并删除了一切有希望的东西(在我的情况下是/tmp/jffi*.tmp) 仍Logstash不会忘记和解析只有“新鲜”的文件s在文件夹中 日志在哪里 有任何想法吗?

6 个回复 | 最后更新于 2018-02-28
2018-02-28   #1

sincedb文件中的“tailing”插件文件存储历史记录,默认值:下 $ HOME / .sincedb ,请参阅 由于db文件包含行如下所示:

[inode] [major device number] [minor device number] [byte offset]
所以,如果你想再解析一个完整的fi乐,你需要:   删除sindedb文件   * * OR *只删除sincedb文件中对应的行,查看inode编号在您的文件之前(ls -i yourFile | awk '{print $1}')   然后重新启动Logstash 使用关键start_position =>“开始,Logstash将分析一个将文件。 一个sincedb文件的例子:   名称:.sincedb7a7413a84171aa550d5318c17fd756e9:名称包含sincedb和a密钥路径(http://logstash.net/docs/1.3.3/inputs/file#path)中所有目录的MD5(Digest :: MD5.hexdigest)。见插件代码ñ档案:https://github.com/logstash/logstash/blob/master/lib/logstash/inputs/file.rb#L105

2018-02-28   #2

Logstash会将记录保存在$ HOME / .sincedb_ *中。您可以删除所有 .sincedb并重新启动logstash,Logstash将重新分析文件。

2018-02-28   #3

默认情况下,logstash将位置最后一次写入到一个日志文件中 通常驻留在$HOME/.sincedb.Logstash可以是fooled相信它 从未通过将/dev/null指定为sincedb_path来解析日志文件。 这里的文件的一部分[我NPUT 文件](https://www.elastic.co/guide/en/logstash/current/plugins-inputs- file.html)。

在哪里写数据库(keeps跟踪当前位置 受监视的日志文件)。缺省为环境变量的值 “$ SINCEDB_PATH”或“$ HOME / .sincedb”。 配置示例

input {
    file {
        path => "/tmp/logfile_to_analyse"
        start_position => "beginning"
        sincedb_path => "/dev/null"
    }
}

2018-02-28   #4

我在家里找到它,但在删除之后,logstash拒绝重新挑选 现有的日志文件。我得到它的工作方式要添加

sincedb_path => "/opt/elk/sincedb/"  
到我的文件插件。我想每次重置,只需改变路径 sincedb_path

2018-02-28   #5

如果您正在使用logstash-forwarder,请检查您的家中是否有.logstash-forwarder文件 代替:

{
  "/var/log/messages": {
    "source": "/var/log/messages",
    "offset": 43715,
    "inode": 12967,
    "device": 51776
  }
}

2018-02-28   #6

删除$ HOME / .sincedb_ *后,它仍然没有为我摄取数据。 在尝试了一堆东西之后,我除去了主要的东西.conf文件来自 /etc/logstash/conf.d并重新启动logstash,并且一切正常。我只能 假设有一些事情在进行e。logstash所在的.conf文件 静静地挂着。

登录后方可回帖

Loading...