코드 건조 | Logstash 상세 설명-Filter 모듈
7831 단어 코드 드라이
Logstash , Logstash , , , 。
1、grok grok , , 。
filter{
grok{
# match , message , logdate。
# , Logstash message , message。
# grok , TIMESTAMP_ISO8601 。
# ,grok , ,
#http://blog.csdn.net/liukuan73/article/details/52318243
# , , , , ,grok 。
match => ['message','%{TIMESTAMP_ISO8601:logdate}']
}
}
2、mutate mutate , , ( ), 。 : "integer", "float" "string"。
filter {
mutate {
# , value,type
# , , ‘abc’ 123 。
convert => [
# request_time
"request_time", "float",
#costTime
"costTime", "integer"
]
}
}
3、ruby ruby —— 。ruby ruby , , , , , EVENT , 。
filter {
ruby {
#ruby , init code
#init , , , ruby{} 。
# field hash 。 coed 。
init => [field={}]
#code , ruby 。
# 。
# , message , “|”。 (ruby )。
# , (ruby 、 )
# , EVEVT 。
# , , MD5
# event ?event Logstash , ruby code , , , , 。
# MD5 , 。
# message 。
code => "
array=event。get('message').split('|')
array.each do |value|
if value.include? 'MD5_VALUE'
then
require 'digest/md5'
md5=Digest::MD5.hexdigest(value)
event.set('md5',md5)
end
if value.include? 'DEFAULT_VALUE'
then
event.set('value',value)
end
end
remove_field=>"message"
"
}
}
4、date grok logdate ( grok )。
filter{
date{
# grok logdate ? 。 , 。 。
# ?
# , @timestamp , , ES (+0 )
# , target @timestamp, , 。
# ,logdate , , event 。
match=>["logdate","dd/MMM/yyyy:HH:mm:ss Z"]
target=>"@timestamp"
remove_field => 'logdate'
# ,@timestamp , , ,
# , grok , , , :"timeat", "%{TIMESTAMP_ISO8601:logdate}"
#timeat 。
# , 。
}
}
5、json , ,
>>> 전체 텍스트 확장