logstash grok正则案例
案例一
1.1 日志
Aug 6 2011 20:34:46 HUAWEI %% 01 HWCM/5/EXIT(l)[1]: exit from configure mode
Jan 8 2013 03:58:15+07:00 HUAWEI %% 01 HWCM/5/EXIT(l)[1]: exit from configure mode
1.2 日志grok解析
(?<ss1_date>(%{MONTH} %{MONTHDAY} %{YEAR} %{TIME}) | (%{MONTH} %{MONTHDAY} %{YEAR} %{TIME}%{ISO8601_TIMEZONE})) %{WORD:ss2_word} (?<ss3_cut_str>([\s\S]{2})) %{NUMBER:ss4_number} %{USERNAME:ss5_username}/%{NUMBER:ss6_number}/
1.3 解析结果
{"ss6_number": "5","ss3_cut_str": "%%","ss4_number": "01","ss1_date": "Jan 8 2013 03:58:15+07:00","ss5_username": "HWCM","ss2_word": "HUAWEI"
}
1.4 必要说明
\s 空白符
\S 非空白符
[\s\S] 任意字符
[\s\S]* 0个到任意多个字符
[\s\S]*? 0个字符,匹配任何字符前的位置
\w 匹配包括下划线的任何单词字符。等价于[A-Za-z0-9_]
\W 匹配任何非单词字符。等价于[^A-Za-z0-9_]截取字符串的前两位 (?<ss3_cut_str>([\s\S]{2}))
案例二
2.1 日志
2011-08-18 18:08:56 HUAWEI %%01CLI/5/LOGIN(l):CID=2160731923;VTY0 login from 192.168.0.1 succeed.
2.2 日志grok解析
(?<ss1_date>(%{YEAR}[./-]%{MONTHNUM}[./-]%{MONTHDAY})\s+%{TIME}) %{WORD:ss2_word} (?<ss3>([\s\S]{2}))(?<ss4>([\s\S]{2}))%{USERNAME:ss5_username}/%{NUMBER:ss6_number}/
2.3 解析结果
{"ss6_number": "5","ss3": "%%","ss4": "01","ss1_date": "2011-08-18 18:08:56","ss5_username": "CLI","ss2_word": "HUAWEI"
}
案例三
3.1 日志
vclound 2015-11-03 03:35:50.283 INFO /usr/lib/python2.6/site-packages/urllib3/connectionpool.py:203 _new_conn - 140192616544000= Starting new HTTP connection (1): 240.10.129.80
3.2 日志grok解析
%{WORD:ss1_word} %{TIMESTAMP_ISO8601:ss2_stamp_time} %{LOGLEVEL:ss3_loglevel} %{PROG:ss4_filepath}:%{NUMBER:ss5_number} %{USERNAME:ss6_username} %{USERNAME:ss7_word} %{NUMBER:ss8_number}= (?<ss9>(.*)): %{IPORHOST:ss10_ip}
3.3 解析结果
{"ss2_stamp_time": "2015-11-03 03:35:50.283","ss4_filepath": "/usr/lib/python2.6/site-packages/urllib3/connectionpool.py","ss6_username": "_new_conn","ss3_loglevel": "INFO","ss5_number": "203","ss7_word": "-","ss10_ip": "240.10.129.80","ss8_number": "140192616544000","ss9": "Starting new HTTP connection (1)","ss1_word": "vclound"
}
grok截取指定字符
参考:https://blog.csdn.net/cai750415222/article/details/86614854
表达式:(?<temMsg>(.*)(?=Report)/?) 获取Report之前的字符
表达式:(?<temMsg>(?=Report)(.*)/?) 获取包含Report及之后的字符
表达式:(?<temMsg>(.*)(?<=Report)/?) 获取不含Report及之后的字符表达式:(?=Report)中的等于【=】符号如果换成【<=】表示不包含本身表达式:(?<temMsg>(?<=Report).*?(?=msg)) 截取Report和msg之间的值 不包含Report和msg本身
表达式:(?<temMsg>(Report).*?(?=msg)) 截取包含Report但不包含msg
表达式:(?<temMsg>(?<=Report).*?(msg))截取不包含Report但包含msg
表达式:(?<temMsg>(Report).*?(msg|request))输出以Report开头,以msg或者以request结尾的所有包含头尾信息
表达式:(?<temMsg>(Report).*?(?=(msg|request)))输出以Report开头,以msg或者以request结尾的不包含头尾信息如果是单个字符串(Report).*?(?=msg) 可以写成Report.*?(?=msg)
表达式:(?<file>([\s\S]{50})) 截取日志前50个字符,作为file的值
logstash grok正则案例相关推荐
- Logstash filter grok正则的使用及介绍
一.Logstash企业级插件案例(EFLK架构) 1.常见的插件概述 gork插件:Grok是将⾮结构化⽇志数据解析为结构化和可查询的好⽅法.底层原理是基于正则匹配任意 ⽂本格式.该⼯具⾮常适合sy ...
- [elk]logstash grok原理
logstash语法 http://www.ttlsa.com/elk/elk-logstash-configuration-syntax/ https://www.elastic.co/guide/ ...
- logstash grok mysql_【Logstash系列】使用Redis并自定义Grok匹配
之前提到,用RabbitMQ作为消息队列.但是这个东西实在太过高精尖,不懂erlang不会调优的情况下,很容易挂掉--基本上我这里试验结果跑不了半小时日志传输就断了.所以改用简单易行的redis来干这 ...
- logstash grok插件语法介绍
介绍 logstash拥有丰富的filter插件,它们扩展了进入过滤器的原始数据,进行复杂的逻辑处理,甚至可以无中生有的添加新的 logstash 事件到后续的流程中去!Grok 是 Logstash ...
- logstash grok匹配
2019独角兽企业重金招聘Python工程师标准>>> Grok debug请访问grok debugger 中文网 ### Logstash grok 匹配 JAVACLASS ( ...
- Logstash:如何使用 Logstash Grok 过滤器提取模式
Logstash 是数据管道,可帮助我们处理来自各种来源的日志和其他事件数据. Logstash 拥有 200 多个插件,可以连接到各种源并将数据流式传输到中央分析系统. Elastic Stack( ...
- Logstash的grok正则匹配自定义
文章目录 前言 一.grok-patterns 二.自定义grok-patterns(正则匹配) 1.自定义格式 2.组合现有patterns匹配时间 3.组合现有patterns匹配中文 4.组合现 ...
- Logstash Grok详解
题外话 如需转载文章,请保留文章出处(blog.csdn.net/knight_zhou).因为我的很多文章一般是会进行更新的.也避免百度搜出来一大推相似的文章,却找不到原创博主. 介绍 Logsta ...
- ELK --- Grok正则过滤Linux系统登录日志
过滤Linux系统登录日志/var/log/secure 登陆成功 Jan 6 17:11:47 localhost sshd[3324]: Received disconnect from 172. ...
最新文章
- 在CentOS 6.9 x86_64的nginx 1.12.2上开启标准模块ngx_http_map_module实录
- linux c 编译时 include 和 链接库 文件路径指定
- 小白入门商业数据分析师的课程测评
- boost::mpl模块实现upper_bound相关的测试程序
- linux 目录定义,linux根目录定义
- C++对象的赋值和复制
- Ionic 4.0.2 发布,移动应用开发框架
- 计算机维修技能训练,计算机维护维修技能训练指导书【参考】.doc
- Win10 iot 配置防火墙限制应用部署
- 认识 ARM、FPGA
- python 读取配置文件的单元测试_单元测试
- LeetCode之3Sum Closest(Kotlin)
- 魔方Newlife.Cube权限系统的使用及模版覆盖详解
- Java中的Servlet详解
- 纽泰格深交所上市:市值52亿 扣非净利下降52%
- 知识管理,助力员工培训体系构建
- Python-docx库设置word页眉页脚
- 流行音乐混音风格 流行音乐混音的压缩技巧
- python time strptime_Python time.strptime方法代碼示例
- 风剑分享“站在上帝视角看数据”,点燃企业大数据梦想与思潮