在logstash中使用grok筛选器分析日期时出错
我需要解析日志中的日期和时间戳,以显示在在logstash中使用grok筛选器分析日期时出错,logstash,logstash-grok,Logstash,Logstash Grok,我需要解析日志中的日期和时间戳,以显示在@timestamp字段中。我能够解析时间戳,但不能解析日期 输入日志: "2010-08-18","00:01:55","text" 我的过滤器: grok { match => { "message" => '"(%{DATE})","(%{TIME})","(%{GREEDYDATA:message3})"’} } 这里DATE抛出grokparsefailure。 也不确定如何更新@timestamp字段 感谢您的帮助。您不需要
@timestamp
字段中。我能够解析时间戳,但不能解析日期
输入日志:
"2010-08-18","00:01:55","text"
我的过滤器:
grok {
match => { "message" => '"(%{DATE})","(%{TIME})","(%{GREEDYDATA:message3})"’}
}
这里DATE
抛出grokparsefailure
。
也不确定如何更新@timestamp
字段
感谢您的帮助。您不需要
%{DATE}
模式。它在寻找M/D/Y、M-D-Y、D-M-Y或D/M/Y格式的东西
对于这样的文件,您可以考虑使用CSV过滤器:
filter {
csv {
columns => ["date","time","message3"]
add_filed => {
"date_time" => "%{date} %{time}"
}
}
date {
match => [ "date_time", "yyyy-MM-dd HH:mm:ss" ]
remove_field => ["date", "time", "date_time" ]
}
}
这将处理
message3
中嵌入了转义引号的情况。您不需要%{DATE}
模式。它在寻找M/D/Y、M-D-Y、D-M-Y或D/M/Y格式的东西
对于这样的文件,您可以考虑使用CSV过滤器:
filter {
csv {
columns => ["date","time","message3"]
add_filed => {
"date_time" => "%{date} %{time}"
}
}
date {
match => [ "date_time", "yyyy-MM-dd HH:mm:ss" ]
remove_field => ["date", "time", "date_time" ]
}
}
这将处理message3
中嵌入了转义引号的情况