logstash - 删除并重新创建输入文件

时间:2016-07-28 07:21:51

标签: file input logstash

我正在使用logstash将数据读入elasticsearch。我有一个名为VpnStatsDetail.xml的监控文件。此文件由另一个进程定期创建和删除(约1秒),并包含另一个' log'用于解析logstash。但是它只读取此文件的第一个修改,并且在此之后永远不会读取任何内容。我玩过“sincedb_path'和' start_position'但无济于事。任何建议都会很棒!

input {
    file {
        #path => "C:/Projects/Python Projects/SolAdmin/SolAdmin/ClientConnectionsWide_*.xml"
        path => "C:/Projects/Python Projects/SolAdmin/SolAdmin/VpnStatsDetail.xml"
        start_position => beginning
        type = "vpn_details"
        #ignore_older => 0
        #sincedb_path => "NUL"
        #sincedb_path => "C:/Projects/Elastic Stack/logstash-2.3.4/logstash-2.3.4/sincedb"
        codec => multiline {
            pattern => '<rpc-reply semp-version="soltr/7_1_1">'
            negate => true
            what => "previous"
        }
    }
}

1 个答案:

答案 0 :(得分:0)

这种情况是你给路径作为文件名logstash检查给定文件中的新行。将您的path更改为:

path => "C:/Projects/Python Projects/SolAdmin/SolAdmin/VpnStats*"

如果有一个文件以VpnStats开头。现在logstash将检查与模式匹配的新文件并识别相同的文件。并添加:

discover_interval => 1

所以logstash会每隔一秒检查一次新文件。