案例一

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正则案例相关推荐

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

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

  2. [elk]logstash grok原理

    logstash语法 http://www.ttlsa.com/elk/elk-logstash-configuration-syntax/ https://www.elastic.co/guide/ ...

  3. logstash grok mysql_【Logstash系列】使用Redis并自定义Grok匹配

    之前提到,用RabbitMQ作为消息队列.但是这个东西实在太过高精尖,不懂erlang不会调优的情况下,很容易挂掉--基本上我这里试验结果跑不了半小时日志传输就断了.所以改用简单易行的redis来干这 ...

  4. logstash grok插件语法介绍

    介绍 logstash拥有丰富的filter插件,它们扩展了进入过滤器的原始数据,进行复杂的逻辑处理,甚至可以无中生有的添加新的 logstash 事件到后续的流程中去!Grok 是 Logstash ...

  5. logstash grok匹配

    2019独角兽企业重金招聘Python工程师标准>>> Grok debug请访问grok debugger 中文网 ### Logstash grok 匹配 JAVACLASS ( ...

  6. Logstash:如何使用 Logstash Grok 过滤器提取模式

    Logstash 是数据管道,可帮助我们处理来自各种来源的日志和其他事件数据. Logstash 拥有 200 多个插件,可以连接到各种源并将数据流式传输到中央分析系统. Elastic Stack( ...

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

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

  8. Logstash Grok详解

    题外话 如需转载文章,请保留文章出处(blog.csdn.net/knight_zhou).因为我的很多文章一般是会进行更新的.也避免百度搜出来一大推相似的文章,却找不到原创博主. 介绍 Logsta ...

  9. ELK --- Grok正则过滤Linux系统登录日志

    过滤Linux系统登录日志/var/log/secure 登陆成功 Jan 6 17:11:47 localhost sshd[3324]: Received disconnect from 172. ...

最新文章

  1. 在CentOS 6.9 x86_64的nginx 1.12.2上开启标准模块ngx_http_map_module实录
  2. linux c 编译时 include 和 链接库 文件路径指定
  3. 小白入门商业数据分析师的课程测评
  4. boost::mpl模块实现upper_bound相关的测试程序
  5. linux 目录定义,linux根目录定义
  6. C++对象的赋值和复制
  7. Ionic 4.0.2 发布,移动应用开发框架
  8. 计算机维修技能训练,计算机维护维修技能训练指导书【参考】.doc
  9. Win10 iot 配置防火墙限制应用部署
  10. 认识 ARM、FPGA
  11. python 读取配置文件的单元测试_单元测试
  12. LeetCode之3Sum Closest(Kotlin)
  13. 魔方Newlife.Cube权限系统的使用及模版覆盖详解
  14. Java中的Servlet详解
  15. 纽泰格深交所上市:市值52亿 扣非净利下降52%
  16. 知识管理,助力员工培训体系构建
  17. Python-docx库设置word页眉页脚
  18. 流行音乐混音风格 流行音乐混音的压缩技巧
  19. python time strptime_Python time.strptime方法代碼示例
  20. 风剑分享“站在上帝视角看数据”,点燃企业大数据梦想与思潮

热门文章

  1. 移动电力猫HG260GT pon实现路由拨号
  2. 以开发之名|斗罗大陆:创造一个尽情探险的开放式游戏世界
  3. 初步认识操作系统(Operator System)
  4. 洛谷1717 钓鱼
  5. OpenLayers官方示例详解七之图层的最小、最大分辨率(Layer Min/Max Resolution)
  6. Go语言的反射三定律
  7. 利用wireShark抓取iphone手机上的网络通信包
  8. 中小微企业如何快速开发信息化系统
  9. powerdesigner设置自动递增
  10. 0.96寸OLED显示图片