logstash默认@timestamp时间戳时间与中国本地时间相差8小时
解决:
filter {
ruby {
code => "
event.set('timestamp',event.timestamp.time.localtime + 8*60*60)
event.set('@timestamp',event.get('timestamp'))
"
}
mutate {
remove_field => ["timestamp"]
}
}
因为在ruby代码执行过程中,有一个临时中间变量timestamp,所有最后删掉这个timestamp变量,只保留@timestamp。