Logstash 如何获取部分路径名并将其添加到索引中

Logstash 如何获取部分路径名并将其添加到索引中,logstash,logstash-configuration,logstash-file,Logstash,Logstash Configuration,Logstash File,我现在有一个这样的文件名。 [SERIALNUMBER][2014_12_04][00_45_22][141204T014214]AB_DEF.log 我基本上想从文件(2014)中提取年份,并将其添加到logstash conf文件的索引名中。logstash.conf 下面是我的conf文件 input { file { path => "C:/ABC/DEF/HJK/LOGS/**/*" start_position => beginn

我现在有一个这样的文件名。 [SERIALNUMBER][2014_12_04][00_45_22][141204T014214]AB_DEF.log

我基本上想从文件(2014)中提取年份,并将其添加到logstash conf文件的索引名中。
logstash.conf
下面是我的conf文件

input {
    file {
        path => "C:/ABC/DEF/HJK/LOGS/**/*"
         start_position => beginning
        type => syslog
    }
}
filter {


    grok {
        match => { "message" => "%{COMBINEDAPACHELOG}"}
    }




}

output {
    elasticsearch {
    index => "type1logs"
    }
    stdout {}    
}
请帮忙。
感谢IIRC,您将得到一个名为“路径”的字段。然后可以运行另一个grok{}过滤器,使用“path”作为输入并提取所需的数据

根据您在现有配置中使用CombinedAppachelog的情况,您的日志条目已经有了日期。更常见的做法是在日期{}过滤器中使用此时间戳字段来更改@timestamp字段。然后,默认的elasticsearch{}输出配置将创建一个名为“logstash YYYY.MM.DD”的索引

这样的每日索引(通常)使数据保留更容易