• 一、使用
    • 1、查看 grok 自带的正则
    • 2、语法
    • 3、使用
      • 1)、Sample Data
      • 2)、Grok Pattern
      • 3)、Custom Patterns
      • 4)、结果
      • 5)、正则讲解
  • 二、在线测试
    • 1、在线Grok Debug工具,Grok校验|调试
    • 2、Kibana中调试
  • 三、logstash配置文件
    • 1、配置文件输入
    • 2、自定义正则生效

一、使用

1、查看 grok 自带的正则

  • ELK logstash的grok 自带的正则匹配

2、语法

需要提取出字段名

  • %{官方定义的正则名或者自定义的正则名:从日志中提取出来的字段名}

不需要提取出字段名

  • %{官方定义的正则名或者自定义的正则名}

3、使用

1)、Sample Data

Sample Data (原数据)

[2020-09-26 13:07:54] GET http://www.test.com/index/index/test 0.118220

2)、Grok Pattern

Grok Pattern(grok 正则)

\[%{TIMESTAMP_ISO8601:timestamp}\] %{USERNAME:method}[T ]%{URL:url} %{NUMBER:exec_time}

3)、Custom Patterns

Custom Patterns(自定义正则)

  • 由于grok自带的网址匹配每页匹配http://https://。所以我们自定义一个名为URL的正则,如下所示
URL (http(s)?:\/\/)?%{URIHOST:domain_name}%{URIPATH}

4)、结果

Kibana -> Console -> Grok Debugger 中执行的结果

{"domain_name": "www.test.com","method": "GET","exec_time": "0.118220","url": "http://www.test.com/index/index/test","timestamp": "2020-09-26 13:07:54"
}

5)、正则讲解

  • \[ :匹配字符 [
  • %{TIMESTAMP_ISO8601:timestamp} :把符合TIMESTAMP_ISO8601正则的内容匹配出来,作为timestamp字段存入es
  • :匹配空格
  • %{USERNAME:method}:把符合USERNAME(USERNAME其实就是个字符串匹配)正则的内容匹配出来,作为method字段存入es
  • [T ]:匹配空格
  • %{URL:url}:把符合自定义的 URL正则的内容匹配出来,作为url字段存入es
    • 自定义的 URL中有自己写的正则,也用到了grok的正则
    • %{URIHOST:domain_name}提取了字段名domain_name到es;
    • %{URIPATH}没有提取出字段名
  • :匹配空格
  • %{NUMBER:exec_time} :把符合NUMBER正则的内容匹配出来,作为exec_time字段存入es

二、在线测试

1、在线Grok Debug工具,Grok校验|调试

  • 在线Grok Debug工具,Grok校验|调试
    效果图如下所示:

2、Kibana中调试

  • Kibana -> Console -> Grok Debugger 中执行的结果

效果图如下所示:

三、logstash配置文件

1、配置文件输入

input {file {...}
}
filter {  grok {  match => {"message"=>"\[%{TIMESTAMP_ISO8601:timestamp}\] %{USERNAME:method}[T ]%{URL:url} %{NUMBER:exec_time}"}}
}
output {...
}

2、自定义正则生效

如何使我们自定义的正则生效呢,找到 logstash 中的文件 grok-patterns,在文件末尾追加自定义的内容(名字不能与已有的名字重复),重启服务生效。
正则配置文件路径:logstash/vendor/bundle/jruby/2.5.0/gems/logstash-patterns-core-4.1.2/patterns/grok-patterns

...# Log formats
SYSLOGBASE %{SYSLOGTIMESTAMP:timestamp} (?:%{SYSLOGFACILITY} )?%{SYSLOGHOST:logsource} %{SYSLOGPROG}:# Log Levels
LOGLEVEL ([Aa]lert|ALERT|[Tt]race|TRACE|[Dd]ebug|DEBUG|[Nn]otice|NOTICE|[Ii]nfo|INFO|[Ww]arn?(?:ing)?|WARN?(?:ING)?|[Ee]rr?(?:or)?|ERR?(?:OR)?|[Cc]rit?(?:ical)?|CRIT?(?:ICAL)?|[Ff]atal|FATAL|[Ss]evere|SEVERE|EMERG(?:ENCY)?|[Ee]merg(?:ency)?)# 用户自定义正则
URL (http(s)?:\/\/)?%{URIHOST:domain_name}%{URIPATH}

ELK logstash的grok 自带的正则匹配、自定义正则 使用相关推荐

  1. Logstash的grok正则匹配自定义

    文章目录 前言 一.grok-patterns 二.自定义grok-patterns(正则匹配) 1.自定义格式 2.组合现有patterns匹配时间 3.组合现有patterns匹配中文 4.组合现 ...

  2. php正则匹配是否为url地址,php正则匹配网址-正则php-php正则匹配url地址

    php正则表达式 正则匹配网址是否带http:// https:// if(preg_match("/\x20*https?\:\/\/.*/i","",$m) ...

  3. 正则匹配之正则匹配全部汇总:

    正则匹配全部汇总: 1.匹配中文:[\u4e00-\u9fa5] 2.英文字母:[a-zA-Z] 3.数字:[0-9] 4.匹配中文,英文字母和数字及下划线:^[\u4e00-\u9fa5_a-zA- ...

  4. java正则匹配table_js正则匹配table tr

    js正则匹配table tr 我觉得比ijao简单,但是脑子就是转不过弯....请正则高手看看阿. 复制代码 代码如下: title title2 data1 data2       data1 da ...

  5. php正则匹配sg-nc-wap_php正则匹配

    概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字符串.常用的语言基本上都有正则表达式,如JavaScript.java等.其实,只有了解一种语言的正 ...

  6. 密码正则(自定义正则)

    密码必须包含大写字母.小写字母.数字.特殊符号(#?!@$%^&*-.)4种类型的8位-16位的组合 pattern = /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]) ...

  7. 最新JS正则匹配大全(工具类:不断更新)

    一.回顾知识: . 点字符匹配除回车(\r).换行(\n).行分隔符(\u2028)和分段符(\u2029)之外的所有字符 注:码点大于0xFFFF的Unicode字符不能被匹配,因为会被认为是两个字 ...

  8. java 正则 空白字符_关于JAVA正则匹配空白字符的问题

    今天遇到一个字符串,怎么匹配空格都不成功!!! 我把空格复制到test.properties文件 显示"\u3000" ,这是什么? 这是全角空格!!! 查了一下    \s   ...

  9. Logstash filter grok正则的使用及介绍

    一.Logstash企业级插件案例(EFLK架构) 1.常见的插件概述 gork插件:Grok是将⾮结构化⽇志数据解析为结构化和可查询的好⽅法.底层原理是基于正则匹配任意 ⽂本格式.该⼯具⾮常适合sy ...

  10. logstash filter grok 用法

    在elk+filebeat都安装好,且明白了基本流程后,主要的就是写logstash的filter了,以此来解析特定格式的日志 logstash的filter是用插件实现的,grok是其中一个,用来解 ...

最新文章

  1. 展望未来:使用 PostCSS 和 cssnext 书写 CSS
  2. excel保存快捷键_干货 | 快速提高工作效率的电脑快捷键!
  3. 简要概述html5的设计宗旨,HTML5程序设计(第2版) 第一章:HTML5概述.doc
  4. CDQZ_Training 2012-05-24 聪明的打字员
  5. java错误页面_java自定义错误页面实现方法
  6. jQuery控制表单重置
  7. Atitit 软件体系的进化,是否需要一个处理中心
  8. linux安装 soapui_在Linux/Unix上安装开源测试工具SoapUI
  9. 基于BP神经网络的人口预测
  10. php制作水印图片,PHP实例制作水印图片
  11. 关于CAB打包的步骤
  12. 美元的阿拉伯数字转换为英文大写的格式
  13. 【中国剩余定理】互素与不互素的情况详解
  14. IIS Express配置使通过IP访问
  15. 自然对数底数e的由来
  16. xlsx表格怎么做汇总统计_EXCEL如何筛选表格里相同的文字并统计!
  17. Motrix - 清爽开源免费的全能下载工具 (跨平台、支持 BT / 磁力链 / 百度网盘)
  18. PCL:投影滤波(二)将点云投影至球面
  19. Python网络爬虫爬取智联招聘职位
  20. 数据库设计之冗余字段

热门文章

  1. 0-1背包(动态规划)
  2. android页面跳转停止,android – Viewpager上的VideoView,切换页面时停止视频
  3. 字长越长计算机的计算速度也越快,计算机字长越长运算速度越慢吗
  4. oracle 多实例 端口,Oracle一个实例配置多个listener或多个端口
  5. mysql or 速度_mysql中or和in的效率问题
  6. python快速编程入门课本中的名片管理器_python——实现名片管理器
  7. java插件已崩溃怎么处理_java.lang.IllegalArgumentException:插件已初始化
  8. linux mount挂载
  9. php 支付宝支付回调与查询订单
  10. linux vim常用快捷键