ELK logstash的grok 自带的正则匹配、自定义正则 使用
- 一、使用
- 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 自带的正则匹配、自定义正则 使用相关推荐
- Logstash的grok正则匹配自定义
文章目录 前言 一.grok-patterns 二.自定义grok-patterns(正则匹配) 1.自定义格式 2.组合现有patterns匹配时间 3.组合现有patterns匹配中文 4.组合现 ...
- php正则匹配是否为url地址,php正则匹配网址-正则php-php正则匹配url地址
php正则表达式 正则匹配网址是否带http:// https:// if(preg_match("/\x20*https?\:\/\/.*/i","",$m) ...
- 正则匹配之正则匹配全部汇总:
正则匹配全部汇总: 1.匹配中文:[\u4e00-\u9fa5] 2.英文字母:[a-zA-Z] 3.数字:[0-9] 4.匹配中文,英文字母和数字及下划线:^[\u4e00-\u9fa5_a-zA- ...
- java正则匹配table_js正则匹配table tr
js正则匹配table tr 我觉得比ijao简单,但是脑子就是转不过弯....请正则高手看看阿. 复制代码 代码如下: title title2 data1 data2 data1 da ...
- php正则匹配sg-nc-wap_php正则匹配
概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字符串.常用的语言基本上都有正则表达式,如JavaScript.java等.其实,只有了解一种语言的正 ...
- 密码正则(自定义正则)
密码必须包含大写字母.小写字母.数字.特殊符号(#?!@$%^&*-.)4种类型的8位-16位的组合 pattern = /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]) ...
- 最新JS正则匹配大全(工具类:不断更新)
一.回顾知识: . 点字符匹配除回车(\r).换行(\n).行分隔符(\u2028)和分段符(\u2029)之外的所有字符 注:码点大于0xFFFF的Unicode字符不能被匹配,因为会被认为是两个字 ...
- java 正则 空白字符_关于JAVA正则匹配空白字符的问题
今天遇到一个字符串,怎么匹配空格都不成功!!! 我把空格复制到test.properties文件 显示"\u3000" ,这是什么? 这是全角空格!!! 查了一下 \s ...
- Logstash filter grok正则的使用及介绍
一.Logstash企业级插件案例(EFLK架构) 1.常见的插件概述 gork插件:Grok是将⾮结构化⽇志数据解析为结构化和可查询的好⽅法.底层原理是基于正则匹配任意 ⽂本格式.该⼯具⾮常适合sy ...
- logstash filter grok 用法
在elk+filebeat都安装好,且明白了基本流程后,主要的就是写logstash的filter了,以此来解析特定格式的日志 logstash的filter是用插件实现的,grok是其中一个,用来解 ...
最新文章
- 展望未来:使用 PostCSS 和 cssnext 书写 CSS
- excel保存快捷键_干货 | 快速提高工作效率的电脑快捷键!
- 简要概述html5的设计宗旨,HTML5程序设计(第2版) 第一章:HTML5概述.doc
- CDQZ_Training 2012-05-24 聪明的打字员
- java错误页面_java自定义错误页面实现方法
- jQuery控制表单重置
- Atitit 软件体系的进化,是否需要一个处理中心
- linux安装 soapui_在Linux/Unix上安装开源测试工具SoapUI
- 基于BP神经网络的人口预测
- php制作水印图片,PHP实例制作水印图片
- 关于CAB打包的步骤
- 美元的阿拉伯数字转换为英文大写的格式
- 【中国剩余定理】互素与不互素的情况详解
- IIS Express配置使通过IP访问
- 自然对数底数e的由来
- xlsx表格怎么做汇总统计_EXCEL如何筛选表格里相同的文字并统计!
- Motrix - 清爽开源免费的全能下载工具 (跨平台、支持 BT / 磁力链 / 百度网盘)
- PCL:投影滤波(二)将点云投影至球面
- Python网络爬虫爬取智联招聘职位
- 数据库设计之冗余字段
热门文章
- 0-1背包(动态规划)
- android页面跳转停止,android – Viewpager上的VideoView,切换页面时停止视频
- 字长越长计算机的计算速度也越快,计算机字长越长运算速度越慢吗
- oracle 多实例 端口,Oracle一个实例配置多个listener或多个端口
- mysql or 速度_mysql中or和in的效率问题
- python快速编程入门课本中的名片管理器_python——实现名片管理器
- java插件已崩溃怎么处理_java.lang.IllegalArgumentException:插件已初始化
- linux mount挂载
- php 支付宝支付回调与查询订单
- linux vim常用快捷键