logstash 数据采集时间差8小时问题及解决
转载自博客:https://codeleading.com/article/54253096335/
最近采用logstash采集日志按天产生文件
使用过程中发现logstash timestamp记录的时间戳为UTC时间。
比我们的时区早8个小时。
不能确保每天的数据在同一文件。
造成发送到es里的数据每天早上8点才创建索引,发送的file的数据每天早上8点自动切割。
不符合我们实际的需求。
解决此问题。
方法如下:
方法一、加入filter字段即可解决。
filter {
ruby {
code => "event.timestamp.time.localtime"
}
}
方法二、修改logstash源码
vi logstash-2.4.1\vendor\bundle\jruby\1.9\gems\logstash-core-event-2.4.1-java\lib\logstash\timestamp.rb
UTC = org.joda.time.DateTimeZone.forID(“UTC”)
修改为:
UTC = org.joda.time.DateTimeZone.getDefault()
方法三、继续修改源码 总有一种适合你的
1、修改string_interpolation.rb文件
vim /data/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-event-2.4.1-java/lib/logstash/string_interpolation.rb
将.withZone(org.joda.time.DateTimeZone::UTC)修改为.withZone(org.joda.time.DateTimeZone.getDefault())
2、修改timestamp的配置文件
vim /data/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-event-2.4.1-java/lib/logstash/timestamp.rb
将@time = time.utc修改为@time = time
posted on 2024-02-02 16:26 luzhouxiaoshuai 阅读(795) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!