【问题标题】:Logstash log time and date parsingLogstash 日志时间和日期解析
【发布时间】:2021-04-15 17:52:46
【问题描述】:

您好,我有以下日志

12-Apr-2021 16:11:41.078 WARNING [https-jsse-nio2-8443-exec-3] org.apache.catalina.realm.LockOutRealm.filterLockedAccounts An attempt was made to authenticate the locked user [user1]

我正在尝试为这些 logstash 构建一个模式。

我有关注

%{MY_DATE_PATTERN:timestamp}\s%{WORD:severity}\s\[%{DATA:thread}\]\s%{NOTSPACE:type_log}

在下面解析

{
  "timestamp": [
    "12-Apr-2021 16:01:01.505"
  ],
  "severity": [
    "FINE"
  ],
  "thread": [
    "https-jsse-nio2-8443-exec-8"
  ],
  "type_log": [
    "org.apache.catalina.realm.CombinedRealm.authenticate"
  ]
}

我的日期戳是一种自定义模式,它适用于 grok 调试器,但不适用于我正在使用的系统,因此我需要帮助才能使用正则表达式获取日期和时间。有人能帮帮我吗?

2021 年 4 月 12 日 16:11:41.078 GROK REGEX

【问题讨论】:

    标签: regex logstash-grok


    【解决方案1】:

    你可以用%{MY_DATE_PATTERN:timestamp}代替

    (?<timestamp>%{MONTHDAY}-%{MONTH}-%{YEAR} %{HOUR}:%{MINUTE}:%{SECOND})
    

    Legend:

    • %{MONTHDAY} - (?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])
    • %{MONTH} - \b(?:Jan(?:uary|uar)?|Feb(?:ruary|ruar)?|M(?:a|ä)?r(?:ch|z)?|Apr(?:il)?|Ma(?:y|i)?|Jun(?:e|i)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|O(?:c|k)?t(?:ober)?|Nov(?:ember)?|De(?:c|z)(?:ember)?)\b
    • %{YEAR} - (?>\d\d){1,2}`
    • %{HOUR} - (?:2[0123]|[01]?[0-9])
    • %{MINUTE} - (?:[0-5][0-9])
    • %{SECOND} - (?:(?:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多