1、将日志产生时间替换@timestamp
json日志,将time列替换成@timestamp
filter {
date {
match => ["Time", "ISO8601","yyyy-MM-dd HH:mm:ss.SSS"]
target => "@timestamp"
locale => "en"
timezone => "UTC"
}
#mutate {
# remove_field => [ "Time" ]
# }
}
2、防止Elasticsearch重启ouput
选取日志中唯一的变量标识
output {
elasticsearch {
document_id => "%{Time}"
}
}
注解:logstash fiter mutate含义
mutate {
add_field:增加数据
add_tag:增加tag
convert:转换数据类型。默认全部为字符串
gsub:正则表达式完成搜索和替换字段中值,类似sed功能
join:利用定义的字符连接数组中的值,只用于数据类型是数组的字段
lowercase:转换为小写
merge:字段连接,字符串类型字段转换为数组
periodic_flush:在规定时间内,周期调用flush
remove_field:输入数据移除字段
remove_tag:移除tag
rename:修改字段名称
replace:替换字段值
split:用分隔符拆分字段,使之成为一个数组
strip:删除字段中的空格
update:更新某个字段的值
uppercase:转换为大写
}
例:
mutate {
convert=>{"field1"=>"float"}
gsub=>["field2","!","+"]
lowercase=>["field2"]
rename=>["field1","field2"]
update=>{"field2"=>"It's easy to update"}
}