[英]"tags":["_dateparsefailure"]," with logstash
12-Apr-2021 17:12:45.289 FINE [https-jsse-nio2-8443-exec-5] org.apache.catalina.authenticator.FormAuthenticator.doAuthenticate Authentication of 'user1' was successful
我在logstash中使用以下代码解析上面的日志消息,不幸的是得到了一个"tags":["_dateparsefailure"], 。
%{MY_DATE_PATTERN:timestamp}
是一个自定义模式,如下MY_DATE_PATTERN %{MONTHDAY}-%{MONTH}-%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND})
我还检查了https://grokdebug.herokuapp.com/它解析得很好。
我想知道你可能会看到我做错了什么。
filter {
grok{
patterns_dir => "/etc/logstash/patterns"
match => { "message" => "%{MY_DATE_PATTERN:timestamp}\s+%{WORD:severity}\s+\[%{DATA:thread}\]\s+%{NOTSPACE:type_log}\s+(?<action>\w(?:[\w\s]*\w)?)(?:\s+['\[](?<user>[^\]']+))?" }
}
# Converting timestamp
date {
locale => "nl"
match => ["timestamp", "dd-MM-YYYY HH:mm:ss"]
timezone => "Europe/Amsterdam"
target => "timestampconverted"
}
ruby {
code => "event.set('timestamp', (event.get('timestampconverted').to_f*1000).to_i)"
}
output(必须删除一些东西,以便我可以在这里发布)
user":"user1,"type_log":"org.apache.catalina.authenticator.FormAuthenticator.doAuthenticate","logSource":{"environment,"tags":["_dateparsefailure"],"thread":"https-jsse-nio2-8443-exec-6","action":"Authentication of
提前致谢!
更新
我也在下面尝试过,但仍然收到错误
date {
locale => "nl"
match => ["timestamp", "dd-MMM-YYYY HH:mm:ss.SSS"]
timezone => "Europe/Amsterdam"
target => "timestampconverted"
}
它绝对应该是“dd-MMM-YYYY HH:mm:ss.SSS”——你必须使用整个字段。 您可以尝试删除 'locale => "nl"' 选项(仅用于调试目的)。 我们目前处于荷兰语和英语月份缩写匹配的月份。 如果它开始工作,那么月份缩写就不是你想象的那样。 一些语言环境期望有一个。 在缩写的末尾。 查看CLDR图表,显然 locale nl 是其中之一,因此您必须将其加入。CLDR 数据在这里,向下滚动到“月份 - 缩写 - 格式”。 你可以试试
mutate { gsub => [ "timestamp", "(jan|feb|mrt|apr|jun|jul|aug|sep|okt|nov|dec)", "\1." ] }
我原来的建议
mutate { gsub => [ "timestamp", "(jan|feb|apr|aug|sept|oct|okt|nov|dec)", "\1." ] }
是基于此处给出的缩写,但这不是 Java 使用的。
问题肯定在日期过滤器中,而不是在 grok 中。 如果 grok 过滤器没有解析时间戳字段,那么日期过滤器将是一个无操作并且不会添加标签。
我发现自定义模式导致了问题,而不是从另一个位置使用它,我将其作为正则表达式添加到我的 conf 文件中,如下(?<logstamp>%{MONTHDAY}-%{MONTH}-%{YEAR} %{HOUR}:%{MINUTE}:%{SECOND})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.