date时区 es logstash_elastic date时区问题解决办法

之前介绍filter date插件时就谈到时区问题,但是没有说明白。最近在使用range查询时间范围内的数据时出现了数据量不一致的情况。特地了解了下ELK Stack中关于时区的问题。

问题:

使用kibana discovery界面搜索时,数据量一致。使用curl 搜索时少了数据。

再说时间问题前,简单了解下UTC:

UTC(Universal Time Coordinated) 叫做世界统一时间,中国大陆和 UTC 的时差是 + 8 ,也就是 UTC+8。

UTC时区参考文档

查看官方文档后得到的结论:

ELK Stack集群各服务对时间处理的介绍:

logstash :根据所在机器的时区并对date类型数据进行处理,整理成UTC时间

elastic :所有date类型数据都存储为GMT(毫秒级)

kibana :根据kibana配置的时区,从elastic取出的timestamp时间转换为相应时区的时间。

问题原因:

logstash处理后以UTC时间存储进elastic,kibana取出来后,在恢复成相应时区的时间。因为我机器都是CST的时间,所以使用kibana搜索没有问题,但是curl命令不会对所取出来的时间进行时区转换,所以就少了8小时数据。

解决方法:

一:

logstash 过滤字段信息时,删除或分开匹配时间和时区信息,timestamp只匹配具体时间,timezone则匹配+0800这样的时区信息,并同时定义timezone为UTC,这样从根本上就得到原始的时间。

UTC时间的示例:

$ bin/logstash -f text.conf

[26/Mar/2019:00:00:08 +0800] #这里以nginx日志中的时间为例

{

"timestamp" => "26/Mar/2019:00:00:08",

"message" => "[26/Mar/2019:00:00:08 +0800]",

"@timestamp" => 2019-03-26T00:00:08.000Z, #@timestamp的时间和输入的时间一致

"@version" => "1",

"timezone" => "+0800",

"host" => "node2007"

}

$ cat text.conf

input {

stdin {}

}

filter {

grok {

match => {

"message" => "\[%{NOTSPACE:timestamp} %{INT:timezone}\]"

}

}

date {

match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss" ]

timezone => "UTC" #无法从timestamp中提取时区。设置时区为UTC时间,忽略系统时区,如果date插件中的match匹配到了时区,则此处的时区不生效。所以在grok插件中将timezone和timestamp分隔开

}

}

output {

stdout{

codec => rubydebug

}

}

正常时间处理:

$ bin/logstash -f text.conf

[26/Mar/2019:00:00:08 +0800]

{

"@version" => "1",

"@timestamp" => 2019-03-25T16:00:08.000Z, #转换成UTC时间,减少8小时,

"message" => "[26/Mar/2019:00:00:08 +0800]",

"host" => "node2007",

"timestamp" => "26/Mar/2019:00:00:08 +0800"

}

$ cat text.conf

input {

stdin {}

}

filter {

grok {

match => {

"message" => "\[%{HTTPDATE:timestamp}\]"

}

}

date {

match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]

timezone => "UTC"

}

}

output {

stdout{

codec => rubydebug

}

}

系统日志中不带有时区信息,则可以直接在配置文件中指定timezone => "UTC"即可。无需要做匹配工作。

二:

匹配到时区时间没有关系,可以在过滤时,在把时间补回来。

...

date {

match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]

target => "time"

}

ruby {

code => "event.set('timestamp', event.get('time').time.localtime + 8*60*60)" #处理时将logstash自动减少的时间在给加回来

}

ruby {

code => "event.set('@timestamp',event.get('timestamp'))"

}

...

以上代码经过我测试,可以正常使用。这里使用ruby插件,我不懂,time -> timestamp -> @timestamp需要经由两个变量才能最后赋值给@timestamp,为什么不能直接使用@timestamp处理并赋值,如果有懂得的人,还请留言告知。

对时间进行处理后,我们可以使用curl命令随意进行查询啦,但是使用kibana时,还需要设置一下默认的时区: Management -> kibana(高级设置) -> Timezone for date formatting 并选择UTC时间展示。

![](https://img2018.cnblogs.com/blog/1202606/201903/1202606-20190328154358262-1829927564.png)

总结:

ELK Stack一整套组合拳的时区特性特别好用,但是在国内还是统一时区吧。统一时区还是再数据存储前做调整,否则后期查询会流泪的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244859.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 获取某一年最后一天_vivo年货节最后一天!多款机型大促,错过让你后悔再等一年!...

即将进入春节回乡高峰期,然而在这个时候许多小伙伴都会先购入春节必备用品。除了一些日用品外,手机也许是新年最佳的换机时间。最近,国产手机品牌vivo就开启了年货节活动,不过今天是最后一天了。vivo旗下众多商品都拥有不小的优惠…

计算机操作记录怎么删除,win7系统如何清除电脑使用记录

‍‍电脑被使用过后或大或少都会留下使用痕迹,就比如浏览器的历史记录,通过这个就可以看出电脑的主人喜欢访问的网站。有位win7 64位旗舰版用户向小编反馈,电脑要暂时借给朋友一段时间,要怎么消除自己的使用记录呢?下面…

分区供水条件口诀_口诀记忆 | 消防给水和消火栓系统的“月检”(重点学习)...

今日分享在消防给水和消火栓系统当中,维护管理及保养的周期,是综合能力与案例分析考试的重点所在,每年考查的分数在12分左右(两科之和),因此关于周期性维护管理的知识点,需要我们掌握并牢记。今天,我们把最…

php websocket 是否在线_看完让你彻底理解WebSocket原理,附实战代码(包含前端和后端)...

作者:nnngu来源:https://www.cnblogs.com/nnngu/p/9347635.html1、前言最近有同学问我有没有做过在线咨询功能。同时,公司也刚好让我接手一个 IM 项目。所以今天抽时间记录一下最近学习的内容。本文主要剖析了 WebSocket 的原理,以…

重庆大学计算机组成,重庆大学计算机组成原理试题集(含部分答案)

《重庆大学计算机组成原理试题集(含部分答案)》由会员分享,可在线阅读,更多相关《重庆大学计算机组成原理试题集(含部分答案)(15页珍藏版)》请在人人文库网上搜索。1、计算机组成原理试题集一、选择题在每小题列出的四个备选项中只有一个是符合题目要求的…

asp.net mvc项目实例_降龙-第13章:MVC开发准备

从这一章开始我将逐步研发一个MVC框架并内嵌在​我的开源项目中。由于内容会很多,所以我尽量拆分成多个章节来介绍,以展示框架研发的过程和一些​细节。上面上传的代码是整套MVC框架设计的起点,这些都是我们在spring中常见的注解类&#xff0…

waf可以检测哪个端口的流量_锐速云:CC防御过程中,WAF的主要特点有哪些?

一部分网站和游戏,以及金融的企业网站负责人员对于流量攻击应该属于耳熟能详。对此问题一直也是他们最头疼的。因此在解决DDoS攻击和CC攻击防御的过程中,运用了WAF指纹识别架构去做相对应的权限策略,以此避免误封正常的用户访问请求。这里的W…

计算机一级考试word操作题主要题型,(word)计算机一级考试题型.doc

(word)计算机一级考试题型题型内容题数分值单选题基础知识4共30题每题1分计30分数制与编码2硬件知识4软件知识4Windows3Word2EXCEL2网络知识6多媒体知识1安全与病毒知识2多选题基础知识、数制与编码、硬件知识、软件知识1共5题每题2分计10分Windows1Word1Excel1网络知识、病毒知…

python和vb基础哪个简单_python和VB哪个更容易学习入门呢?

当然是Python,Python是最接近人类语言的编程语言,但是想对编程更理解,c语言是必须学的没法说哪个好或者哪个不好。各有优缺点。python在网络上应用的很多,而VB主要应用在桌面应用上。主要看你开发哪方面的应用了。有必要&#xff…

frame中src怎么设置成一个变量_自动格式化打印变量HMLog介绍

作者 | mao2020来源 | 掘金,点击阅读原文查看作者更多文章前言在我初学iOS的时候,经常需要NSLog打印用于调试,有时候还需要打印多个变量:NSLog("xxxx frame% tag%ld isHidden%d", NSStringFromCGRect(view.frame), view…

电大计算机组成原理ppt,四川电大计算机组成原理(0023)第二次形考作业(课程号:5110023).docx...

四川电大计算机组成原理(0023)第二次形考作业(课程号:5110023).docx 计算机组成原理(0023)第二次形考作业四川电大形成性测评系统 课程代码5110023 参考资料 、单项选择题(共 7 道试题,共 35 分。)1. 组成一个运算器需要多个部件,但下面所列_…

android系统里面的mic是哪个app_安利 | 那些错过会后悔一年的法语APP

如今手机使用的频率越来越高,感觉每一个人都是“低头族”。既然我们都离不开手机,那我们何不利用手机来学习法语呢?今天我就跟大家推荐一些超级好用的各类法语APP,每个APP会注明IOS系统和android系统是否兼容。提高dicte和单词拼写…

python圆面积函数_python函数题

请大家严格按照下面顺序编写圆形生成器程序。 : 定义函数getCircleArea(r),可以对指定r计算圆面积。计算公式math库的pi*r*r。 定义函数get_rList(n),功能:输入n个值放入列表并将列表return。 输入n,调用get_rList(n)获…

计算机运算的基本原理概论,[工学]7计算概论A A02 计算机的基本原理.pdf

[工学]7计算概论A A02 计算机的基本原理《计算概论A》课程计算机的基本原理李李 戈戈北京大学 信息科学技术学院 软件研究所2011年9月9 日图灵机的由来图灵机的由来 第一次数学危机– 现代意义下的数学来源于公元前现代意义下的数学来源于公元前500年左年左右古希腊的毕达哥拉…

北斗通信运营商_国内首个“北斗+5G”应用方案发布 配套5G产品将于年底量产上市...

北京合众思壮科技股份有限公司研发的各类北斗导航应用终端 郭超凯 摄北京合众思壮科技股份有限公司研发的各类北斗导航应用终端 郭超凯 摄中新网郑州9月10日电 (郭超凯)中国卫星导航与位置服务第八届年会10日在郑州召开,北京合众思壮科技股份有限公司(以下简称合众思…

Redis-运维

转自 极客时间 Redis 亚风 原文视频:https://u.geekbang.org/lesson/535?article681062 Redis 同步 Redis主从数据同步,主从第⼀次同步是全量同步 replicaof 主机 端口 #当前这个机器做Master的备份master如何判断slave是不是第⼀次来同步数据: Repl…

python括号的区别_Python中类-带括号与不带括号的区别

类不带括号我们叫赋值,带括号我们叫实例化。 什么是赋值? a7 ba id(7) 140726814208448 id(a) 140726814208448 id(b) 140726814208448 从上面例子中我们可以看出变量a赋值7、b赋值a,它们的内存地址都是相同的。 它们是指向了同一个内存地址&…

初中教师资格证计算机试讲教案模板,教案模板:教师资格证面试初中英语万能教案模板...

【摘要】授课是一门艺术,好的授课方式可以使学生举一反三,培养学生自主学习能力。此时,课前的教案准备工作就极为重要。那么如何写出一篇好的教案呢?考必过为大家精心整理了教案模板:教师资格证面试初中英语万能教案模…

idea yml文件不变成树叶_springboot获取配置文件的三种方式

hello,大家好,有今天没有写文章了,因为呢,最近,公司有点事情,需要我呢,搭建一个demo,框架呢是springbootActive实现消息的延时发送和定时发送功能,为了项目以后中使用到&…

计算机和公文写作买什么资料,公文写作和计算机应用笔试和复习大纲资料.doc...

文档介绍:公文写作和计算机应用笔试和复****大纲本大纲供参加绵阳市事业单位其他类岗位公开招聘工作人员业务基础知识考试-《公文写作和计算机应用》笔试的考生复****参考。请考生重点掌握以下知识内容。第一部分公文写作 一、公文基础知识(一)公文的定义与特点(二)…