logstash如何将output中index name中引用的日期时区改为EST

在使用Logstash中的output为elasticsearch时,有的时候我们会在index name中引用时间戳,如:index => "wyh_index_%{+YYYY.MM.dd}",但是elasticsearch中默认的时区是UTC的,在业务需求中想要显示成别的时区,在网上找到了一种转换时区的方式:

input{
  file{
    path => "/usr/local/.../test-logstash.txt"
    start_position => "/beginning"
    since_db => "/dev/null"
  }
}
filter{
  date{
    match => ["@timestamp","yyyy-MM-dd HH:mm:ss Z"]
    timezone => "EST"                      #指定要转换的时区
  }
  ruby{
    code => "event.set('est_time', event.get('[@timestamp]').time.localtime.strftime('%Y.%m.%d_%H:%M'))"          #将转换后的时间set到一个字段中
  }
}
output{
  elasticsearch{
    hosts => ["xxxxxxx:9200"]
    index => "test_index_%{est_time}"            #引用转换后的日期
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QYHuiiQ

听说打赏的人工资翻倍~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值