黑马程序员技术交流社区

标题: 【上海校区】logstash篇之插件 [打印本页]

作者: 梦缠绕的时候    时间: 2018-7-16 09:54
标题: 【上海校区】logstash篇之插件
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实现。


作者: 不二晨    时间: 2018-7-16 11:55
奈斯
作者: 吴琼老师    时间: 2018-7-18 15:20





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2