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

时间:2016-04-16 01:02:16

标签: 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 => beginning
        type => syslog
    }
}
filter {


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




}

output {
    elasticsearch {
    index => "type1logs"
    }
    stdout {}    
}

请帮忙。 感谢

1 个答案:

答案 0 :(得分:0)

IIRC,你会得到一个名为“路径”的字段。然后,您可以使用'路径'运行另一个grok {}过滤器。作为输入和提取你想要的数据。

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

拥有这样的日常索引(通常)可以使数据保留更容易。