[英]"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.