我的问题是关于如何使用 Grok 模式。
我知道给定的现有 Grok 模式,我可以使用以下语法将值分配给字段:
%{DATESTAMP_RFC822:timestamp}
Run Code Online (Sandbox Code Playgroud)
我也知道我可以创建自己的自定义模式并将其与 patternsDir 字段一起使用。
我的问题是我是否可以使用 Grok 模式的组合来解析并将值分配给字段?
例如,这里是 DATESTAMP_RFC822 模式的“定义”:
DATESTAMP_RFC822 = %{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME} %{TZ}
Run Code Online (Sandbox Code Playgroud)
如果我不希望 %{TZ} 作为模式的一部分,我该如何使用模式的其余部分来解析和分配时间戳?类似于...
?<timestamp>%{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME}
Run Code Online (Sandbox Code Playgroud)
我知道以上是行不通的。但我希望很清楚我想要实现的目标。
刚刚找到答案。我的最后一次尝试实际上是正确的。
?<timestamp>%{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME}
Run Code Online (Sandbox Code Playgroud)
我只需要添加打开和关闭 '(' 以使其工作。
(?<timestamp>%{MONTH}/%{MONTHDAY} %{HOUR}:?%{MINUTE}(?::?%{SECOND}))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2410 次 |
| 最近记录: |