我需要显示一条关于Kibana的报告,该报告将根据多个日期间隔汇总结果。 Times被映射为float数据类型以及时间戳。
示例:
Jobs, Yesterday, Last Week, Last Quarters
Job 1, 5hr, 10 hr, 60 hr
使用ES和Kibana执行此操作的最佳方法是什么?
答案 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 Range
(metric
之上)将是buckets
。
不幸的是,鉴于您似乎想要一个表视图,我不知道如何将单独的日期范围添加到另一行,除非您接受每份工作一张桌子: