本篇文章主要介绍了"Logstash codec配置",主要涉及到方面的内容,对于系统运维感兴趣的同学可以参考一下:
Logstash codec配置
Codec: 解码编码
json, msgpack, edn…Logstash 处理流程:
input-->decode...
Logstash codec配置
Codec: 解码编码
json, msgpack, edn…
Logstash 处理流程:
input-->decode-->filter-->encode-->output
plain编码
plain是一个空的解析器,它可以让用户自己指定格式。
input {
stdin {
codec => plain
}
}
output {
stdout{ }
}
如果事件数据是json格式,可以加入 codec => json 来进行解析
input {
stdin {
}
}
output {
stdout{
codec => json
}
}
?
input {
tcp {
port => 12388
host=> "127.0.0.1"
codec=>json_lines{ #如果你的json文件比较长,需要换行那么就得用到json_lines的编码方式了
}
}
}
output {
stdout{ }
}
将采用Ruby Awsome Print库来解析日志
?input {
stdin {
codec => json
}
}
output {
stdout{
codec => rubydebug
}
}
multiline多行事件编码
有时候有的日志会用很多行去展现,这么多行其实都是一个事件。
比如JAVA的异常日志
input {
stdin {
codec => multiline {
charset =>... # 字符编码 ,可选
max_bytes => # bytes类型,设置最大的字节数,可选
max_lines => #number类型,设置最大的行数,默认是500行,可选
multiline_tag => #string类型,设置一个事件标签,默认是"multiline" ,可选
pattern =>... # string 类型,设置匹配的正则表达式 ,必选
patterns_dir =>... #array类型,可以设置多个正则表达式,可选
negate =>... # boolean类型,设置正向匹配还是反向匹配,默认是false,可选
what =>... # 设置未匹配的内容是向前合并还是向后合并,previous, next 两个值选择,必选
}
}
}
input {
stdin {
codec => multiline {
pattern =>"^\["
negate => true
what => "previous"
}
}
}
output {
stdout{ }
}
以上就介绍了Logstash codec配置,包括了方面的内容,希望对系统运维有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_283891.html