我不熟悉逻辑存储和摸索,我有一个关于模式的问题。
7月26日09:46:37
上面的内容包含%{MONTH} %{MONTHDAY} %{TIME}和空格。
我需要知道如何将所有这些组合起来并创建一个模式%{sample_timestamp}。
谢谢!
发布于 2016-07-27 14:29:47
来自Grok自定义模式文档的引号:
首先,您可以使用Oniguruma语法来命名capture,这将允许您匹配一段文本并将其保存为一个字段: (这里是?the模式) ..。 或者,您可以创建一个自定义模式文件。
因此,您可以创建一个包含以下行的模式文件:
CUST_DATE %{MONTH} %{MONTHDAY} %{TIME}然后使用这个插件中的patterns_dir设置告诉logstash您的自定义模式目录在哪里。
filter {
grok {
patterns_dir => ["./patterns"]
match => { "message" => "%{CUST_DATE:datestamp}" }
}
}将在外地产生:
datestamp => "Jul 26 09:46:37"发布于 2019-04-10 17:33:52
过滤器
使用pattern_definitions定义模式
filter {
grok {
pattern_definitions => { "MY_DATE" => "%{MONTH} %{MONTHDAY} %{TIME}" }
match => { "message" => "%{MY_DATE:timestamp}" }
}
}结果
{
"timestamp": "Jul 26 09:46:37"
}使用Logstash 6.5进行测试
https://stackoverflow.com/questions/38606766
复制相似问题