【问题标题】:Grok pattern for date日期的 Grok 模式
【发布时间】:2016-07-12 07:46:55
【问题描述】:

我的日志中有日期:

2016 年 7 月 8 日 08:58:07,258 ...

目前我正在使用:

%{MONTHDAY}[T ]%{MONTH}[T ]%{YEAR}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})[T ]...

解析它。

如何将其转换为日期类型。当我们有一个现有的 grok 模式时,我知道如何使用“日期”来做到这一点,但在我的情况下如何做到这一点?

【问题讨论】:

    标签: logstash logstash-grok elastic-stack logstash-configuration logstash-file


    【解决方案1】:

    你可以有一个自定义模式:

    (?<log_timestamp>%{MONTHDAY}[T ]%{MONTH}[T ]%{YEAR}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND}[T ])
    

    这样,您将拥有一个字段 log_timestamp,您可以将其提供给 date 过滤器。

    或者您可以使用ruby 过滤器将所有字段连接到一个中以提供给date 过滤器。

    【讨论】:

    • 是否会使用 GREEDYDATA 将我的日志消息的日期部分放入“日期”字段,然后在 date 过滤器中使用此“日期”字段,如 match =&gt; [ "Date", "dd MMM yyyy HH:mm:ss,SSS" ] 工作?
    • @PuRaK 如果Date 字段的内容与"dd MMM yyyy HH:mm:ss,SSS" 模式匹配,则无论使用何种方法创建该字段,它都会起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    相关资源
    最近更新 更多