kibana中的数据晚8个小时

kibana中的数据晚8个小时

问题描述:

在指定时间范围内查询ES中的数据时发现 数据丢失

问题分析

中国在东八区,相比于中时区多了8个小时,导致kibana自动减去8个小时。

ES默认是0时区,但是我们一般用的是北京时间东八区,因此间隔了八小时

问题解决

封装ES查询条件的时候对时间格式进行处理

  • 错误实例
        BoolQueryBuilder totalBoolQueryBilder = QueryBuilders.boolQuery();
        totalBoolQueryBilder = totalBoolQueryBilder
                .must(QueryBuilders.termQuery("id", id))
                .must(QueryBuilders.rangeQuery("absTime")
                        .gte(startDate)
                        .lt(endDate).timeZone("GMT+8"))
        ;
        NativeSearchQuery totalSearchQuery = new NativeSearchQueryBuilder()
                .build();

对应Kibana中的

 "range" : {
          "absTime" : {
            "from" : "2024-06-13T00:00:00.000Z",
            "to" : "2024-07-12T14:45:28.536Z",
            "include_lower" : true,
            "include_upper" : true,
            "time_zone" : "GMT+08:00",
            "boost" : 1.0
          }
        }
  • 正确实例

这里的办法是改变数据源,写入es中的时间数据是通用时间yyyy-MM-dd HH:mm:ss 格式的数据,并指定时区为 GMT+8

       BoolQueryBuilder totalBoolQueryBilder = QueryBuilders.boolQuery();
        totalBoolQueryBilder = totalBoolQueryBilder
                .must(QueryBuilders.termQuery("id", id))
                .must(QueryBuilders.rangeQuery("absTime")
                .gte(DateUtil.format(startDate, "yyyy-MM-dd HH:mm:ss"))
                .lt(DateUtil.format(endDate, "yyyy-MM-dd HH:mm:ss"))
                .format("yyyy-MM-dd HH:mm:ss")
                .timeZone("GMT+8"));

对应Kibana中的

          "range": {
            "absTime": {
              "from": "2024-07-06 00:00:00",
              "to": "2024-07-12 15:48:25",
              "include_lower": true,
              "include_upper": false,
              "time_zone": "GMT+08:00",
              "format": "yyyy-MM-dd HH:mm:ss",
              "boost": 1
            }
          }

idea中断点参考正确写法

img


img


image-20240718161210931

相关推荐

  1. MySQL查出时间比实际8小时解决方案

    2024-07-18 19:50:05       22 阅读
  2. Mongodb一个小巧数据更新命令$inc

    2024-07-18 19:50:05       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 19:50:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 19:50:05       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 19:50:05       58 阅读
  4. Python语言-面向对象

    2024-07-18 19:50:05       69 阅读

热门阅读

  1. 正则表达式

    2024-07-18 19:50:05       19 阅读
  2. 框架

    框架

    2024-07-18 19:50:05      20 阅读
  3. opencv—常用函数学习_“干货“_5

    2024-07-18 19:50:05       24 阅读
  4. 光伏储能剑指何方

    2024-07-18 19:50:05       20 阅读
  5. Web前端-Web开发CSS基础5-浮动

    2024-07-18 19:50:05       18 阅读