最近使用logstash的作为日志处理工具是发现一个问题,logstash给提供了一个默认的时间字段@timestamp,这个时间无论我怎么该他都是0时区的时间,没有办法改成+08:00时区的时间,后来查了很多资料发现原来是代码直接获取的UTC默认的时间,所以无论怎么更改系统时间它都不会改变。这对于我司运维很痛苦,像我提了多次需求。

  后来终于找到了修改的办法,在filter里面加上这段代码即可修改。

  

ruby {

    code => "event.timestamp.time.localtime"

  }

  加上以后再看@timestamp就是我所需要的系统时间。