【问题标题】:logstash file input glob not workinglogstash 文件输入 glob 不起作用
【发布时间】:2015-09-23 14:30:18
【问题描述】:

我开始探索logstash,这可能是一个新手问题,但据我研究,这应该有效,但不是。

我有一个非常简单的配置,它只是读取日志文件并将它们转储到标准输出。它适用于单个文件和文件列表(数组),但如果我使用与相同文件匹配的 glob,则不会发生任何事情。

我用一个简短的 ruby​​ 脚本测试了 glob,它列出了正确的文件。

这是我的配置:

input {
    file {
        path => "/home/lpacheco/*.log"
        start_position => "beginning"
    }
}

output {
    stdout {}
}

如果我用--verbose 运行它,我会得到:

{:timestamp=>"2015-09-23T11:26:47.008000-0300", :message=>"Registering file input", :path=>["/home/lpacheco/*.log"], :level=>:info}
{:timestamp=>"2015-09-23T11:26:47.068000-0300", :message=>"No sincedb_path set, generating one based on the file path", :sincedb_path=>"/home/.sincedb_6da9e0c63851aa9d5840ba19efd196cb", :path=>["/home/lpacheco/*.log"], :level=>:info}
{:timestamp=>"2015-09-23T11:26:47.089000-0300", :message=>"Pipeline started", :level=>:info}

没有其他事情发生。

我正在使用:

  • logstash 1.5.4
  • OpenJDK 运行时环境 (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
  • ruby 1.9.3p484(2013-11-22 修订 43786) [i686-linux]

【问题讨论】:

    标签: logstash glob


    【解决方案1】:

    您显然面临sincedb-问题。 Logstash 将日志文件的最后位置保存在名为 sincedb 的文件中。 sincedb 基于日志文件的 inode,因此重命名或使用 glob 没有任何影响。

    试试这个输入进行测试:

    input {
        file {
            path => "/home/lpacheco/*.log"
            start_position => "beginning"
            sincedb_path => "/dev/null"
        }
    }
    

    来自最新文档:

    sincedb 数据库文件的路径(跟踪当前位置 被监控的日志文件)将被写入磁盘。默认会 将 sincedb 文件写入与 $HOME/.sincedb* 匹配的某个路径注意:它 必须是文件路径而不是目录路径

    如需了解更多信息,请查看this等相关问题。

    【讨论】:

    • 很好,使用“/dev/null”作为 sincedb_path 有效,指定文件名也是如此。但是,省略参数有什么问题?
    • 好的,你搞定了,这是一个 sincedb_path 问题,但我认为实际的问题是我的日志文件不是“实时”的,它是我们生产服务器的副本。我认为使用 'start_position => "beginning"' 可以让我继续重用该文件,但它不起作用。 'sincedb_path => "/dev/null"' 忽略了 sincedb,但作为实际配置没有用。我认为删除 sincedb 文件是一个更好的解决方案。
    • 你是对的。 sincedb_path => "/dev/null" 仅用于测试目的。您不应该在生产环境中使用它。在生产情况下,删除 sincedb 文件是重新解析日志的更好方法。 start_position => "beginning" 在这种情况下有点令人困惑,而且你不是唯一一个偶然发现它的人。
    • 对于那些想要忽略 sincedb_path 的 Windows 用户,请将其指向 sincedb_path => "nul"
    猜你喜欢
    • 2015-01-06
    • 1970-01-01
    • 2014-07-31
    • 2021-01-30
    • 2015-07-09
    • 1970-01-01
    • 2017-02-18
    • 2014-07-20
    • 1970-01-01
    相关资源
    最近更新 更多