Logstash-类型上的过滤器

Logstash-类型上的过滤器,logstash,logstash-configuration,Logstash,Logstash Configuration,这是我的日志存储配置文件。我有多个配置文件,解析出不同的CSV文件,我希望每个CSV进入一个单独的索引。我试图通过在输入过滤器中使用type来实现这一点,然后使用条件来查看类型是否匹配,如果匹配,则将其发送到正确的索引。唯一的问题是,我肯定错过了什么,因为它不工作 input { file { path => "/reports/device-availability.csv" start_position => "beginn

这是我的日志存储配置文件。我有多个配置文件,解析出不同的CSV文件,我希望每个CSV进入一个单独的索引。我试图通过在输入过滤器中使用type来实现这一点,然后使用条件来查看类型是否匹配,如果匹配,则将其发送到正确的索引。唯一的问题是,我肯定错过了什么,因为它不工作

input {
    file {
            path => "/reports/device-availability.csv"
            start_position => "beginning"
            type => "device-availability"
    }
}

filter {

    if [type] == "device-availability" {
            csv {
                    separator => ","
                    columns => ["Company","Date","Device","IP Address","Device Type","Availability","Uptime"]
            }
            date {
                    match => ["Date", "MMM-yy", "yy-MMM", "MM/yy", "M/yy"]
                    locale => "en"
            }
            mutate {
                    convert => { "Availability"  => "float" }
                    convert => { "Uptime" => "float" }
            }
    }
}

output {
    if [type] == "device-availability" {
            elasticsearch {
                            action => "index"
                            hosts => "localhost"
                            index => "device-availability"
                            workers => 1
            }

            stdout {
            }

            file {
                    path => "/output/logstash/device-availability.log"
            }
    }
}

我看到该文件从未被重新读取,在日志中我看到logstash将最后一个位置存储在“$HOME/.sincedb”中,因此我更新了输入部分,每次运行时都重置该位置,并再次开始查看数据轮询。现在我将测试过滤器和输出函数。输入{file{path=>“/reports/device availability.csv”start\u position=>“beging”type=>“device availability”sincedb\u path=>“/dev/null”}使其正常工作!这就是问题所在,文件从未被重新读取。谢谢大家!修好这个很好。您可以在输入筛选器中指定sincedb路径,并将其推出do/dev/null以进行测试。在prod中,将其移动到一个中心位置,以便轻松访问。我看到该文件从未被重新读取,在日志中我看到logstash将最后一个位置存储在“$HOME/.sincedb”中,因此我更新了输入部分,以便在每次运行时重置该位置,并再次开始查看数据轮询。现在我将测试过滤器和输出函数。输入{file{path=>“/reports/device availability.csv”start\u position=>“beging”type=>“device availability”sincedb\u path=>“/dev/null”}使其正常工作!这就是问题所在,文件从未被重新读取。谢谢大家!修好这个很好。您可以在输入筛选器中指定sincedb路径,并将其推出do/dev/null以进行测试。在prod中时,将其移动到中心位置,以便于访问。