ELK Logstash 自定义正则模式patterns_dir
如果过滤插件里面自带的正则匹配无法满足你的需求,那么你可以写自己的正则匹配规则,如何使用,CID [0-9]{5,6}这个是自定义规则
[root@localhost ~]# cat /usr/local/logstash/conf.d/test.conf
input {file {path => "/var/log/test.log"}
}filter {grok {patterns_dir => "/opt/patterns"match => {"message" => "%{IPV4:client_ip} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration} %{CID:id}"} }
}output {elasticsearch {hosts => ["192.168.179.102:9200"]index => "test-%{+YYYY.MM.dd}"}
}
[root@localhost ~]# cat /opt/patterns
CID [0-9]{5,6}[root@localhost ~]# echo "192.168.1.10 GET /login.html 12345 0.666 11111" >> /var/log/test.log
192.168.1.10 GET /login.html 12345 (?<ip>\d+\.\d+\.\d+\.\d+) (?<method>\w+) (?<request>/.*) (?<bytes>\d+)
可以看到根据我们写的正则也可以进行字段的过滤,其他日志类型也可以写类似的
Grok多模式匹配(兼容多种日志)
# cat /opt/patterns
CID [0-9]{5,6}
TAG \w+
filter {grok {patterns_dir =>"/opt/patterns"match => ["message", "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration} %{CID:cid}","message", "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration} %{EID:eid} %{TAG:tag}"] }
}
Elasticsearch
grok {match => ["message", "\[%{TIMESTAMP_ISO8601:timestamp}\]\[%{DATA:loglevel}%{SPACE}\]\[%{DATA:source}%{SPACE}\]%{SPACE}\[%{DATA:node}\]%{SPACE}\[%{DATA:index}\] %{NOTSPACE} \[%{DATA:updated-type}\]","message", "\[%{TIMESTAMP_ISO8601:timestamp}\]\[%{DATA:loglevel}%{SPACE}\]\[%{DATA:source}%{SPACE}\]%{SPACE}\[%{DATA:node}\] (\[%{NOTSPACE:Index}\]\[%{NUMBER:shards}\])?%{GREEDYDATA}"]}
ELK Logstash 自定义正则模式patterns_dir相关推荐
- 干货 | Logstash自定义正则表达式ETL实战
0.题记 本文建立在干货 | Logstash Grok数据结构化ETL实战上,并专注于在Grok中使用自定义正则表达式. 有时Logstash没有我们需要的模式. 幸运的是,我们有正则表达式库:On ...
- Logtail 文件日志采集之完整正则模式
前言 为了简化文件日志的采集过程,Logtail 提供了按行采集的极简模式:通过换行符来切分日志,每行作为一条日志.极简模式具有高效.配置简单等优势,但它将整条日志的内容作为整体,而不会对单条日志的内 ...
- ELK logstash 处理MySQL慢查询日志
介绍 在生产环境下,logstash 经常会遇到处理多种格式的日志,不同的日志格式,解析方法不同.下面来说说logstash处理多行日志的例子,对MySQL慢查询日志进行分析,这个经常遇到过,网络上疑 ...
- 译-在Python正则模式中search()和match()的区别是什么?
问:在Python正则模式中search()和match()的区别是什么? 我已经阅读了现有的相关文档,但是我总是记不住,碰到类似的问题,我还要不断地查找再学习,我希望某个大神能够给个清晰的案例,让我 ...
- boost::flyweight模块实现自定义工厂模式的示例
boost::flyweight模块实现自定义工厂模式的示例 实现功能 C++实现代码 实现功能 boost::flyweight模块实现自定义工厂模式的示例 C++实现代码 #include < ...
- mysql %和正则_mysql 正则模式和like模糊查询
MySql like模糊查询使用详解 一.SQL的模式匹配允许你使用"_"匹配任何单个字符,而"%"匹配任意数目字符(包括零个字符).在 MySQL中,SQL的 ...
- [WCF权限控制]利用WCF自定义授权模式提供当前Principal[实例篇]
在<原理篇>中我们谈到:如果采用自定义安全主体权限模式,我们可以通过自定义AuthorizationPolicy或者ServiceAuthorizationManager实现对基于当前认证 ...
- Asp.Net Core 中IdentityServer4 授权中心之自定义授权模式
一.前言 上一篇我分享了一篇关于 Asp.Net Core 中IdentityServer4 授权中心之应用实战的文章,其中有不少博友给我提了问题,其中有一个博友问我的一个场景,我给他解答的还不够完美 ...
- php正则表达式修正符,深入解析PHP正则模式修正符
今天我们就向大家具体讲解了PHP正则模式修正符的相关概念,希望对大家有所帮助. 模式修正符:模式修正符是标记在整个模式之外的.模式修正符中有几个常用的,分别是I.m.s.U,下面我们来具体了解一下. ...
- ELK+logstash配置日志报警
需求 通过读取日志文件监控,过滤日志信息的异常关键词,如ERR,error,Failed,warning等信息,将这些带有异常关键词的异常日志信息过滤出来,然后输出到zabbix,通过zabbix告警 ...
最新文章
- JS高级程序设计拾遗
- Debian 6 7 8 utc时间设置
- Apache Spark学习:将Spark部署到Hadoop 2.2.0上
- 【中级软考】两个人同一日就同样的发明创造申请专利,应该授予谁?
- iframe跨域自适应高度
- android多媒体编程题库,android 仿猿题库答题UI
- 为什么说Prometheus是足以取代Zabbix的监控神器?
- 当代大学查寝奇葩操作大赏 | 今日最佳
- java 解析 manifest_解析AndroidManifest.xml之AXMLParser.java | 学步园
- LeetCode 135 分发糖果
- Spring下Redis的响应式编程
- 第十四天-企业应用架构模式-Web表现模式
- linux动态库路径生效,Linux下如何解决动态库的链接问题
- 您无权查看或编辑目前的权限设置;但是,您可以取得所有权或更改审核设置
- GNOME Screencaster 将支持 Miracast P2P 传输
- 惠新宸:我也曾经是“不适合”编程的人(图灵访谈)
- 上传文件带真实的进度条(支持多文件上传)--进度条是在文件上传完成后再显示
- mysql报错You do not have the SUPER privilege and binary logging is enabled
- linux4g内存图,linux 支持4G内存
- Hanselman的精彩事事通讯:2014年1月21日
热门文章
- 重试利器Guava Retrying
- gimp 抠图_GIMP 的基本操作
- 传奇3服务器配置文件,分享传奇三架设的全部详细攻略
- mysql relay log.info_技术分享 | slave_relay_log_info 表认知的一些展开
- DOTA中所有被动技能
- python 抓取 实时公交_Python实现命令行监控北京实时公交之一
- boot版本是什么 cent os_确定 BootROM 或固件版本
- 电脑提示Wtautoreg.exe无法找到入口怎么解决?
- 4k纸是几厘米乘几厘米_4K纸是多少尺寸
- 怎样学好高中数学学好高中数学的技巧