logstash(10)过滤器-dissect
描述
Dissect过滤器是一种拆分操作。与常规拆分操作(其中一个分隔符应用于整个字符串)不同,此操作将一组分隔符应用于字符串值。Dissect不使用正则表达式,速度非常快。
filter {dissect {mapping => {"message" => "%{ts} %{+ts} %{+ts} %{src} %{} %{prog}[%{pid}]: %{msg}"}}
}
语法解释
我们看到上面使用了和Grok很类似的%{}
语法来表示字段,这显然是基于习惯延续的考虑。不过示例中%{+ts}
的加号就不一般了。dissect 除了字段外面的字符串定位功能以外,还通过几个特殊符号来处理字段提取的规则:
%{+key}
这个+
表示,前面已经捕获到一个key字段了,而这次捕获的内容,自动添补到之前 key 字段内容的后面。%{+key/2}
这个/2
表示,在有多次捕获内容都填到 key字段里的时候,拼接字符串的顺序谁前谁后。/2
表示排第2位。%{}
是一个空的跳过字段。%{?string}
这个?
表示,这块只是一个占位,并不会实际生成捕获字段存到事件里面。%{?string} %{&string}
当同样捕获名称都是string,但是一个?
一个&
的时候,表示这是一个键值对。
填充符
字段的->
后缀例如%{function->}
,表示忽略它右边的填充,否则右边的多余填充将拆分到下一个字段中。
例如有填充->
:
%{id} %{function->} %{server}
输入:
f3000a3b Calc machine-123
输出:
{"server" => "machine-123","@timestamp" => 2019-01-17T15:04:01.694Z,"function" => "Calc","@version" => "1","host" => "VM_0_10_centos","id" => "f3000a3b","message" => "f3000a3b Calc machine-123"
}
例如无填充->
:
%{id} %{function} %{server}
输入:
f3000a3b Calc machine-123
输出:
{"server" => " machine-123","@timestamp" => 2019-01-17T15:04:53.972Z,"function" => "Calc","@version" => "1","host" => "VM_0_10_centos","id" => "f3000a3b","message" => "f3000a3b Calc machine-123"
}
参数
参数 | 类型 | 是否必须 | 默认值 |
---|---|---|---|
convert_datatype | hash | 否 | {} |
mapping | hash | 否 | {} |
convert_datatype
使用此设置int
和float
数据类型进行转换。
filter {dissect {convert_datatype => {"cpu" => "float""code" => "int"}}
}
mapping
解析事件。如果需要匹配换行符,使用单引号定义值,并在单引号内使用实际的换行符来匹配换行,如下:
filter {dissect {mapping => {# 单引号中使用实际换行匹配换行"message" => '"%{field1}" "%{field2}""%{description}"'"description" => "%{field3} %{field4} %{field5}"}}
}
logstash(10)过滤器-dissect相关推荐
- Logstash:如何使用 Logstash Grok 过滤器提取模式
Logstash 是数据管道,可帮助我们处理来自各种来源的日志和其他事件数据. Logstash 拥有 200 多个插件,可以连接到各种源并将数据流式传输到中央分析系统. Elastic Stack( ...
- Logstash:Logstash translate 过滤器简介
Logstash具有一个有趣的功能,称为翻译过滤器 (translate filter). 翻译过滤器用于根据字典或查找文件过滤传入数据中的特定字段. 然后,如果输入字段与字典查找文件中的条目匹配,则 ...
- Logstash:在实施之前测试 Logstash 管道/过滤器
检测解析的日志是否包含单个或多个警告消息,然后添加一个字段来说明这两种情况.在很多的情形下,我们在测试 Logstash 的过滤器时,并不急于把实际的 input 的数据接入到过滤器中来进行测试.我们 ...
- logstash filter 过滤器详解
一.grok 正则捕获插件 grok是一个十分强大的logstash filter插件,他可以通过正则解析任意文本,将非结构化日志数据解析成结构化和方便查询的结构.是目前logstash 中解析非结构 ...
- 10 过滤器和监听器
1.过滤器 1.作用:对所有请求或响应做拦截操作2.开发Filter1.自定义一个XxxFilter实现javax.servlet.Filter接口2.web.xml中配置(注解@webFilter( ...
- Logstash:运用 fingerprint 过滤器处理重复的文档
这篇文章介绍了使用 Logstash 在 Elasticsearch中 对数据进行重复数据删除的方法. 根据你的用例,Elasticsearch中 的重复内容可能不被接受. 例如,如果你要处理指标,则 ...
- ELK系统之logstash问题:retrying failed action with response code: 429
版权声明:本文为博主原创文章,如需转载,请标明出处. https://blog.csdn.net/alan_liuyue/article/details/78926015 问题来源 logstash在 ...
- Logstash:Grok filter 入门
有效分析和查询送入 Elastic Stack 的数据的能力取决于信息的可读性. 这意味着,当将非结构化数据摄取到系统中时,必须将其转换为结构化数据. 通常,这个至关重要的任务留给 Logstash( ...
- LogStash 原理和使用(十六)
这篇我们分析LogStash 原理和使用: LogStash 是一个类似实时流水线的开源数据传输引擎,它像一个两头连接不 同数据源的数据传输管道,将数据实时地从一个数据源传输到另一个数据源中. 在数据 ...
- Logstash:通过 lookups 来丰富数据
如果你想了解更多关于 lookup 的内容,请参阅文章 "Elastic:开发者上手指南" 中的 "丰富数据及 lookup" 章节.在今天的文章中,我来总结在 ...
最新文章
- html模板是干嘛的,html模板有什么用
- python django升级安装sqlite3后在python命令行还是显示旧版本的解决办法
- 活动目录从入门到精通
- 插件完整_紫天学习星球教学:布料模拟插件完整功能使用详解01(中文)
- SSH(Secure Shell Protocol)命令之 grep
- Html文件转换为Aspx文件后发现样式丢失或失效
- 混合云架构,如何实现混合云落地?(上)
- 17年第八届蓝桥杯省赛(C语言B组) 题解
- react实现关于文本框的双向绑定
- 看图四级作文 快速技术的发展计算机,【英语四级看图作文范文11篇】_英语四级看图作文范文大全_2021年英语四级看图作文范文_东城教研...
- 破解win7开机密码!
- linux 磁盘序列号修改,linux 获取硬盘序列号解决思路
- 某程序员上线原谅宝:抓取全球不可描述网站和社交平台10万渣女
- 三种方式实现echarts树图的背景图片设置
- 台湾最大IC封装厂近三成员工停工14天,安世半导体宣布今日起调涨价格!
- 音视频开发:直播推流技术指南
- 服装行业如何用手持PDA盘点?
- 文本摘要相关论文汇总
- 名帖318 沈尹默 行书《行书帖选》
- 老码农眼中的大模型(LLM)