0

我目前有这样的文件名。[序列号][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 {}    
}

请帮忙。谢谢

4

1 回答 1

0

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

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

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

于 2016-04-16T14:49:03.347 回答