grok 官方文档

grok 官方文档
摘要由CSDN通过智能技术生成
               
<pre name="code" class="html">grok:解析任意文本并构造它:Grok 是当前最好的方式在logstash 解析蹩脚的非结构化日志数据 到一些结构化的可查询的。这个工具是完美的对于syslog logs, apache和其他webserver logs,mysqllogs,在一般情况下,任何日志格式通常对于人是友好的而不是对于电脑Logstash 有120种模式默认,你可以找到它们在:https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns. Grok Basics:Grok 通过结合文本模式来匹配你的日志语法对于一个grok 是 %{SYNTAX:SEMANTIC}语法是 模式的名字会匹配你的文本,比如,3.44 会通过NUMBER 模式匹配和55.3.244.1 通过IP模式匹配。语法是你如何匹配:SEMANTIC (语义)是标识 你给到一块文本被匹配。比如,3.44 可能是一个一个事件的持续事件,因此你可以简单的调用它。此外, 一个字符串 55.3.244.1 可能识别客户端发出的请求。在上述例子中,你的grok filter 可以看起来像这样:%{NUMBER:duration} %{IP:client}你可以添加一个数据类型转换成你的grok 模式。默认的 所有的语义都保存作为字符串.如果你希望 转换一个语义的数据类型,比如改变一个字符串为一个整型 然后将其后缀为目标数据类型。比如  %{NUMBER:num:int}  会转换num语义从一个字符串到一个整型,当前只支持转换是int和float例子: 这个质疑的语法和语义,我们可以把有用的字段从一个简单的日志像这个虚构的http 请求日志:55.3.244.1 GET /index.html 15824 0.043匹配模式:%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}{  "client": [    "55.3.244.1"  ],  "method": [    "GET"  ],  "request": [    "/index.html"  ],  "bytes": [    "15824"  ],  "duration": [    "0.043"  ]}正则表达式:Grok 坐在正则表达式之上,因此很多的正则表达式也是正确的在grok里。正则表达式库是Oniguruma,你可以看到完整的支持的正则表达式的语言在Oniguruma 网站自定义 模式:有时候logstash没有你需要的模式,你有几个选项:第一,你可以使用Oniguruma 语法用于命名捕获 让你匹配一个文件的片段,保存作为字段(?<field_name>the pattern here)/********55.3.244.1 GET /index.html 15824 0.043(?<field_name>\S+)输出:{  "field_name": [    "55.3.244.1"  ]}(?<field_name>\S+\s+)输出:多了个空格{  "field_name": [    "55.3.244.1 "  ]}(?<field_name</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值