博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
logstash篇之插件
阅读量:4098 次
发布时间:2019-05-25

本文共 1267 字,大约阅读时间需要 4 分钟。

input插件


input 插件指定数据的输入源,一个pipeline可以有多个input插件。

stdin

这里写图片描述

举例:

这里写图片描述

file

这里写图片描述

配置

这里写图片描述
这里写图片描述

glob匹配语法

这里写图片描述

举例

这里写图片描述

这里写图片描述

这里写图片描述

kafka

kafka是最流行的消息队列。

这里写图片描述

codec 插件


codec插件作用域input和output插件,负责将数据在原始与logstash event之间转换。

常见的codec

这里写图片描述

测试

这里写图片描述

结果分别如下:

line –> rubydebug:
这里写图片描述

line –> dots

这里写图片描述

不论输入什么,输出都会变成一个点。一般用于不关注输出的时候,比如压测时,只关心logstash是否运行。

json –> rubydebug

这里写图片描述

multiline

使用场景

当一个event的message由多行组成的时候,需要用到这个codec,常见情况是堆栈日志信息处理,如:

这里写图片描述

设置参数

这里写图片描述

举例

这里写图片描述

filter插件


filter插件是logstash的主要功能之一,可以对logstash event进行丰富的处理。如类型转换、删除字段等。

常见filter插件

这里写图片描述

date插件

将日期字符串解析为日期类型,然后替换@timestamp字段或者其他字段。

例如:

这里写图片描述

这里写图片描述

date参数如下:

这里写图片描述

grok插件

grok是内置带有名字的正则表达式的集合,通常用于将一条日志文件解析成为一个json形式。

这里写图片描述

grok语法如下:

这里写图片描述

也可以自定义匹配规则:

这里写图片描述

自定义 gork pattern

这里写图片描述

match匹配多种样式

这里写图片描述

overwrite重写方法

dissect插件

dissect几区分隔符原理解析数据,解决grok解析消耗过多cpu资源的问题。

这里写图片描述

只能应用于每行格式相似且分割符明确的场景

语法:

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

举例:

这里写图片描述

mutate插件

可以对字段进行各种操作,包括重命名,删除替换更新等。主要操作有:

这里写图片描述

convert

实现字段类型转换,类型为hash,支持integer、float、string、boolean

这里写图片描述

gsub

对内容进行替换,类型为数组,每3项为一个替换配置

这里写图片描述

split

将字符串切割成为数组

这里写图片描述

join

将数组拼接为字符串

这里写图片描述

merge

将两个数组合并成为1个数组,字符串会被转换为1个元素的数组进行操作

这里写图片描述

rename

将字段重命名

这里写图片描述

update/replace

更新字段内容,updatge在字段存在的时候才生效,replace在字段不存在的时候会执行行增加字段的操作

这里写图片描述

remove

删除字段

这里写图片描述

json插件

将内容为json的数据进行解析

这里写图片描述

geoip插件

根据ip地址提供对应的地域信息,比如经纬度、城市名称等,方便进行地理数据分析。

这里写图片描述

ruby插件

当所有插件都无法满足需求的时候,可以编写ruby代码来修改logstash event对象

这里写图片描述

output插件


output负责将数据输出到指定的位置。output常见插件有如下几种:

这里写图片描述

stdout

输出到标准输出,一般用于调试。

这里写图片描述

file

输出到文件,实现将分散的日志集中到一个文件中,方便查看。

这里写图片描述

elasticsearch

输出到elasticsearch中,基于http实现。

这里写图片描述

你可能感兴趣的文章
安利 10 个让你爽到爆的 IDEA 必备插件!
查看>>
自学编程的八大误区!克服它!
查看>>
GitHub 上的一个开源项目,可快速生成一款属于自己的手写字体!
查看>>
早知道这些免费 API,我就可以不用到处爬数据了!
查看>>
Java各种集合类的合并(数组、List、Set、Map)
查看>>
JS中各种数组遍历方式的性能对比
查看>>
Mysql复制表以及复制数据库
查看>>
进程管理(一)
查看>>
linux 内核—进程的地址空间(1)
查看>>
存储器管理(二)
查看>>
开局一张图,学一学项目管理神器Maven!
查看>>
Android中的Binder(二)
查看>>
Framework之View的工作原理(一)
查看>>
Web应用架构
查看>>
设计模式之策略模式
查看>>
深究Java中的RMI底层原理
查看>>
用idea创建一个maven web项目
查看>>
Kafka
查看>>
9.1 为我们的角色划分权限
查看>>
维吉尼亚之加解密及破解
查看>>