首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何组合字符以创建GROK中的自定义模式

如何组合字符以创建GROK中的自定义模式
EN

Stack Overflow用户
提问于 2016-07-27 07:41:38
回答 2查看 15.4K关注 0票数 4

我不熟悉逻辑存储和摸索,我有一个关于模式的问题。

7月26日09:46:37

上面的内容包含%{MONTH} %{MONTHDAY} %{TIME}和空格。

我需要知道如何将所有这些组合起来并创建一个模式%{sample_timestamp}

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-27 14:29:47

来自Grok自定义模式文档的引号:

首先,您可以使用Oniguruma语法来命名capture,这将允许您匹配一段文本并将其保存为一个字段: (这里是?the模式) ..。 或者,您可以创建一个自定义模式文件。

  • 创建一个名为patterns的目录,其中包含一个名为extra的文件(文件名并不重要,但要有意义地为自己命名)
  • 在该文件中,将所需的模式作为模式名称、空格,然后编写该模式的regexp。

因此,您可以创建一个包含以下行的模式文件:

代码语言:javascript
运行
复制
CUST_DATE %{MONTH} %{MONTHDAY} %{TIME}

然后使用这个插件中的patterns_dir设置告诉logstash您的自定义模式目录在哪里。

代码语言:javascript
运行
复制
 filter {
   grok {
     patterns_dir => ["./patterns"]
     match => { "message" => "%{CUST_DATE:datestamp}" }
   }
 }

将在外地产生:

代码语言:javascript
运行
复制
 datestamp => "Jul 26 09:46:37"
票数 5
EN

Stack Overflow用户

发布于 2019-04-10 17:33:52

过滤器

使用pattern_definitions定义模式

代码语言:javascript
运行
复制
filter {
  grok {
    pattern_definitions => { "MY_DATE" => "%{MONTH} %{MONTHDAY} %{TIME}" }
    match => { "message" => "%{MY_DATE:timestamp}" }
  }
}

结果

代码语言:javascript
运行
复制
{
  "timestamp": "Jul 26 09:46:37"
}

使用Logstash 6.5进行测试

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38606766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档