Kibana:报告不同的日期间隔,例如今天,昨天,上周

时间:2016-06-06 21:56:20

标签: elasticsearch data-visualization kibana elastic-stack

我需要显示一条关于Kibana的报告,该报告将根据多个日期间隔汇总结果。 Times被映射为float数据类型以及时间戳。

示例:

Jobs, Yesterday, Last Week, Last Quarters
Job 1, 5hr,      10 hr,     60 hr

使用ES和Kibana执行此操作的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

鉴于您希望它显示为:

  

工作N |范围1 |范围2 |范围3 | ...... |范围N

这可能很难真正进入Kibana,因为它喜欢分割数据表,但是在你尝试之前,最好先了解如何获取某些东西想象它:

{
  "size" : 0,
  "aggs" : {
    "per_job": {
      "terms": {
        "field": "job",
        "size": 10
      },
      "aggs": {
        "ranges": {
          "date_range": {
            "field": "timestamp",
            "ranges": [
              {
                "from": "now-1d/d"
              },
              {
                "from" : "now-7d/d"
              },
              {
                "from": "now-3M/M"
              }
            ]
          },
          "aggs": {
            "worked": {
              "sum": {
                "field": "hours"
              }
            }
          }
        }
      }
    }
  }
}

这提供什么?这是按每个job进行分组,然后将每个作业拆分为三个分段日期范围,每个范围都是前一个范围的较长版本(请注意,此处未指定"to",您可以将其指定为{ {1}}),最后每个日期范围的分割总结在感兴趣的领域,我假设它被命名为小时。

你如何在Kibana中使用它?好吧,Kibana只是一个可视化工具,用于构建这些聚合和图表或以其他方式显示它们。

因此,顶级聚合将成为"to" : "now"聚合。辅助或"子桶"将是Terms,最后Date Rangemetric之上)将是buckets

不幸的是,鉴于您似乎想要一个表视图,我不知道如何将单独的日期范围添加到另一行,除非您接受每份工作一张桌子:

Example Configuration