我在使用logstash打开搜索时遇到了一些问题。
filter{
grok {
patterns_dir => ["/etc/logstash/conf.d/patterns"]
match => [ "message","%{DATE_FORM:logdate}%{LOGTYPE:logtype}:%{SPACE}%{GREEDYDATA:msgbody}" ]
}
date {
match => ["logdate", "yyyy.MM.dd-HH.mm.ss:SSS"]
timezone => "UTC"
target=>"timestamp"
}
mutate {
remove_field => ["message"]
add_field => {
"file" => "%{[@metadata][s3][key]}"
}
}
}
这是我用于logstash的conf文件。在opensearch控制台中
@timestamp : Dec 15, 2022 @ 18:10:56.975
logdate [2022.12.10-11.57.36:345]
tags _dateparsefailure
时间戳、日志日期不同,并且出现_dateparsefailure错误。
在原始日志中,它以
[2022.12.10-11.57.36:345]
这种格式。
现在
logdate : raw log's timestamp
@timestamp : the time that log send to opensearch
我想匹配logdate和@timestamp。我如何修改filter.date.match部分,使logdate和@timestamp过滤器的结果相同?
1条答案
按热度按时间4ktjp1zp1#
如果您有多个
filter.date.match
,您可以执行以下操作:如果时间字段具有多种格式,则可以执行以下操作:
参考:https://www.elastic.co/guide/en/logstash/current/plugins-filters-date.html#plugins-filters-date-match