美文网首页
logstash 8小时时区问题

logstash 8小时时区问题

作者: 转身一世铅华尽 | 来源:发表于2020-10-26 13:15 被阅读0次

诱因:主要原因是由于logstash底层取的timestamp是直接获取的服务器的系统时间(大多数情况下是直接以GMT时间或者UTC时间去获取的),这样,对于在东八区的我们,就可能会出现这个时间戳少了8个小时的问题
解决方法:
一、直接修改服务器的系统时区,不过这种方法有时候不一定起作用,因为有可能你的服务器本身就是使用CST时区的,但是这个logstash可能还是会从GMT时间或者UTC时间获取,本人亲测,在Linux环境比较有效
二、在logstash的配置中添加:

filter {
        ruby {#设置一个自定义字段'timestamp'[这个字段可自定义],将logstash自动生成的时间戳中的值加8小时,赋给这个字段
                code => "event.set('timestamp', event.get('@timestamp').time.localtime + 8*3600)"
        }
        ruby {#将自定义时间字段中的值重新赋给@timestamp
                code => "event.set('@timestamp',event.get('timestamp'))"
        }
        mutate {#删除自定义字段
                remove_field => ["timestamp"]
        }
 
    }

这个方式在Windows上配合kibana可能会有一些问题,因为Windows本身你的时间使用的是UTC+8,然而,logstash使用这个会使用UTC时间来作为@timestamp的时间,但是你的kibana在Windows上面的默认配置会是使用的brower[也就是utc+8]的,所以会出现在kibana上面的table的@timestamp字段会比你的logstash写到你的_source中的@timestamp字段多了8小时的问题,这个只需要修改kibana的默认时区就行了。这个问题在Linux环境应该是不存在的
三、直接修改logstash源码配置:
这个方法我只使用过在老版本上面的

老版本(1.5之前的版本):
WithZone (org. Joda. Time. DateTimeZone: : UTC)
修改为:
WithZone (org. Joda. Time. DateTimeZone.getDefault ())

1.5以后的版本(没试过,这个是别人用过的):
路径:/vendor/bundle/jruby/1.9/gems/logstash-core-(version)-java/lib/logstash/event.rb
/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.1.0-java/lib/logstash/timestamp.rb
57行
UTC = org.joda.time.DateTimeZone.forID(“UTC”)
修改为:
UTC = org.joda.time.DateTimeZone.getDefault(:)

相关文章

  • elk-logstash时区问题

    使用版本:elk6.0 配置文件:logstash.confg 问题:如图14号的数据,结果采集到了15号,慢了8...

  • logstash kibana搜索时区问题小记

    logstash使用的是标准时间UTC时间,我们在生成索引的时候常会使用xx-%{+YYYY.MM.dd}这样的格...

  • logstash 8小时时区问题

    诱因:主要原因是由于logstash底层取的timestamp是直接获取的服务器的系统时间(大多数情况下是直接以G...

  • Java 中的时区理解和处理

    本文内容:1,时区了解一下2,产生时区的原因3,常用时间类,哪些是有会导致时区问题4,开发中如何避免产生时区问题 ...

  • 时区问题

    //获取格林威治标准时间public void getGMTTime() {//mothed 2TimeZone ...

  • 时区问题

    2020-11-10 00:00:00 +0000 ---> GMT+0 尼林格日标准时间 也就是 0时区。 ...

  • Mysql更新时区表

    时区问题 Django项目做了数据库迁移后有时候出现时区上的问题,例如django项目中设置的时区是TIME_Z...

  • Centos 7 系统时区问题

    Centos 7 系统时区问题

  • ruby、rvm、gem、rubygems、bundler的概念

    笔者在搭建logstash集成logstash-input-mongodb插件的时候遇到了系统环境的问题:顺便说一...

  • ubuntu 18 查看和修改时区

    碰到问题:在ubuntu下调用crontab调用接口时间不对,是时区不对,通过下面的步骤解决时区问题 查看时间: ...

网友评论

      本文标题:logstash 8小时时区问题

      本文链接:https://www.haomeiwen.com/subject/eoramktx.html