Logstash Filter(五)Split

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Logstash Filter(五)Split相关的知识,希望对你有一定的参考价值。

参考技术A

mutiline 让 logstash 将多行数据变成一个事件,当然了,logstash 同样支持将一行数据变成多个事件。
logstash 提供了 split 插件,用来把一行数据拆分成多个事件。
插件配置:

运行结果:
对于 "test1#test2",上述 logstash 配置将其变成了下面两个事件:

需要注意的是,当 split 插件执行结束后,会直接进入 output 阶段,其后的所有 filter 都将不会被执行。

ELK 学习笔记之 Logstash之filter配置

Logstash之filter:

 

json filter:

input{

       stdin{

       }

}

filter{

       json{

              source => "message"

       }

}

output{

       stdout{

              codec => json

       }

输入:

{"name": "CSL", "age": 20}

输出:

 

Grok filter:

pattern: 

https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns

创建一个测试log:

[sky@hadoop1 bin]$ cat spark-test-log.log

05/30/17 17:13:24 INFO StartingSparkmasteratspark

05/30/17 17:13:24 INFO RunningSparkversion1

05/30/17 17:13:25 INFO jetty

 

创建conf:

input{

       file{

              path => "/usr/local/logstash-5.6.1/bin/spark-test-log.log"

              type => "sparkfile"

              start_position => "beginning"

       }

}

filter{

       grok{

              match => ["message", "%{DATE:date} %{TIME:time} %{LOGLEVEL:loglevel} %{WORD:word}"]

       }

}

output{

       stdout{

              codec => rubydebug

       }

}

运行结果:

自定义正则表达式:

[sky@hadoop1 patterns]$ cat selfpattern

SKYTIME (?!<[0-9])%{HOUR}:%{MINUTE}(?::%{SECOND})(?![0-9])

 

修改conf:

input{

       file{

              path => "/usr/local/logstash-5.6.1/bin/spark-test-log.log"

              type => "sparkfile"

              start_position => "beginning"

       }

}

filter{

       grok{

              patterns_dir => \'/usr/local/logstash-5.6.1/patterns/selfpattern\'

              match => ["message", "%{DATE:date} %{SKYTIME:time} %{LOGLEVEL:loglevel} %{WORD:word}"]

       }

}

output{

       stdout{

              codec => rubydebug

       }

}

输出结果:

 

定义多个match:使用,分隔。

测试正则表达式网址:

https://grokdebug.herokuapp.com/

 

以上是关于Logstash Filter(五)Split的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Logstash

Logstash drop filter插件 --- 2022-04-03

小姐姐教你定制一个Logstash Java Filter~

logstash之filter处理中括号包围的内容

logstash 离线安装logstash-filter-json_encode 插件

Logstash之Logstash inputs(file和redis插件)Logstash outputs和Filter plugins