2. logstash es duplicate

https://logstash.jira.com/browse/LOGSTASH-1875

https://logstash.jira.com/browse/LOGSTASH-2085

http://stackoverflow.com/questions/39316108/logstash-duplicate-data/39317368

http://stackoverflow.com/questions/31430255/handle-duplicate-records-in-elasticsearch

In your case, you could use:

require 'date'
fmt = '%Y-%m-%dT%H:%M:%S.%L%z'
s = event['@timestamp'].to_s
tz = '+08:00'
event['@timestamp'] = DateTime.strptime(s, fmt).to_time.localtime(tz).strftime(fmt)
2016-05-11 16:20 本站整理 浏览(135)

大家在用Logstash收集日志时,发现@timestamp的时间比本地早8个小时,这是正常的,因为这个时间是UTC时间,日志应统一采用这个时间。

原则上建议大家不要修改这个时间戳:

时区问题的解释

很多中国用户经常提一个问题:为什么 @timestamp 比我们早了 8 个小时?怎么修改成北京时间?+
其实,Elasticsearch 内部,对时间类型字段,是统一采用 UTC 时间,存成 long 长整形数据的!对日志统一采用 UTC 时间存储,是国际安全/运维界的一个通识——欧美公司的服务器普遍广泛分布在多个时区里——不像中国,地域横跨五个时区却只用北京时间。
对于页面查看,ELK 的解决方案是在 Kibana 上,读取浏览器的当前时区,然后在页面上转换时间内容的显示。
所以,建议大家接受这种设定。否则,即便你用 .getLocalTime 修改,也还要面临在 Kibana 上反过去修改,以及 Elasticsearch 原有的 ["now-1h" TO "now"] 这种方便的搜索语句无法正常使用的尴尬。
以上,请读者自行斟酌。

如果你非要修改,可以这么配置:

如果上述报错,就直接修改配置文件吧:

filter{

ruby {
code => "event['@timestamp'] = event['@timestamp'].getlocal"

}

--------------logstash/vendor/bundle/jruby/1.9/gems/logstash-core-event-2.4.0-java/lib/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 我的例子(2.1版本的Logstash):
/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(:)

Logstash之时区问题的建议和修改---filter---and duplicate resolution.的更多相关文章

  1. logstash 默认时间少8小时的修改办法

    logstash 的配置文件添加 filter { ruby { code => "event.set('timestamp', event.get('@timestamp').tim ...

  2. logstash output时区差8个小时

    logstash版本6.3.2,解决方式如下,不需要修改源码: input { redis { host => "127.0.0.1" port => " p ...

  3. 困扰的问题终于解决了-docker时区不正确的问题修改记

    前一阵子有一台服务器,mysql的时间比北京时间晚了8个小时.我知道是时区的问题,但是不知道为什么弄成这样,宿主机没有问题,后来一看mysql的docker,时区是错的. mybatis-plus打印 ...

  4. docker时区不正确的问题修改记

    前一阵子有一台服务器,mysql的时间比北京时间晚了8个小时.我知道是时区的问题,但是不知道为什么弄成这样,宿主机没有问题,后来一看mysql的docker,时区是错的. mybatis-plus打印 ...

  5. Logstash学习之路(三)Logstash处理时区、类型转换、删除字段的案例配置

    #输入 input { file { path => ["文件路径"] #自定义类型 type => "自定义" start_position =& ...

  6. Logstash组件详解(input、codec、filter、output)

    logstash组件详解 logstash的概念及特点. 概念:logstash是一个数据采集.加工处理以及传输(输出)的工具. 特点: - 所有类型的数据集中处理 - 不同模式和格式数据的正常化 - ...

  7. Linux操作系统时间与BIOS硬件时间

    注:以Ubuntu为例说明 在Linux计算机上,有两个时间,一个是硬件时间(BIOS中记录的时间,称为hwclock),另一个是操作系统时间(osclock).硬件时钟由BIOS电池供电, 当计算机 ...

  8. Ubuntu 16.04将系统时间写入到硬件时间BIOS

    说明:在Ubuntu中为了和Windows保持一致,会将系统时间设置成CST的,所以下面的说法是设置成UTC的问题是由于所在的环境不一致导致的,本章只讨论如何设置时间到BIOS,不做时区分析,下面忽略 ...

  9. Linux (RHEL)修改时区

    1.修改配置文件修改为上海时区 vi /etc/sysconfig/clock ZONE="Asia/Shanghai" 2.创建上海时区的软连接 ln -sf /usr/shar ...

随机推荐

  1. 折腾kali linux2.0

    偶然的机会了解到了kali linux这个用于渗透测试的linux发行版,于是就从官网下了iso,但是制作启动盘老出错.网上查了下说在linux下用dd命令特别简单,于是转到ubuntu下制作启动盘, ...

  2. jquery 修改 bootstrap模态框的宽度并且居中

    1.定义模态框 <div class="modal fade" id="Project_Cell_Modal" tabindex="-1&quo ...

  3. 在sql结果中显示行号

    1.准备 create table newtable ( name ), ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ); ); ); ); ); 2.实现 ) a ...

  4. javascript 实现java中的Map

    javascript实现java中的Map,代码是在国外的一个网站上看到的(http://stackoverflow.com/questions/368280/javascript-hashmap-e ...

  5. Spark Streaming:大规模流式数据处理的新贵

    转自:http://www.csdn.net/article/2014-01-28/2818282-Spark-Streaming-big-data 提到Spark Streaming,我们不得不说一 ...

  6. java--Struts中请求的过程

    一个请求在Struts2框架中的处理步骤: a) 客户端初始化一个指向Servlet容器的请求: b) 根据Web.xml配置,请求首先经过ActionContextCleanUp过滤器,其为可选过滤 ...

  7. AJAX解惑篇(转)

    这篇文章会使你对AJAX有一个基本了解,并给出两个容易上手的例子. 什么是AJAX AJAX是一个新的合成术语,隐含了两个已经存在多年的JavaScript特性,但是直到最近,随着一些诸如Gmail. ...

  8. 【BZOJ】1079: [SCOI2008]着色方案(dp+特殊的技巧)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1079 只能想到5^15的做法...........................果然我太弱. 其实 ...

  9. jquery设置cors跨域

    老版写法 $.support.cors = true; 新版写法 crossDomain: true

  10. 插件之下拉框Select2

    select2为代替常规的select而出现,可自定义select的样式,最明显的功能就是集合中可以搜索 关于浏览器要求,ie8+,Chrome 8+,Firefox 10+,Safari 3+,Op ...