前提:ES中存储的只有一个关于流量的字段,累计流量。 并且该值是累计增加的
1、统计每隔一定时间段(10分钟/1天)的流量消费、使用日期直方图可以做到
2、流量的计算比较麻烦,需要使用时间段内的每个站点累计流量的max-min,得到这个站点的消费流量、 (或者是否有更简单的计算方式)
3、单个站点的消费趋势好做,使用脚本管道分组聚合,获取max-min。如下:
1、统计每隔一定时间段(10分钟/1天)的流量消费、使用日期直方图可以做到
2、流量的计算比较麻烦,需要使用时间段内的每个站点累计流量的max-min,得到这个站点的消费流量、 (或者是否有更简单的计算方式)
3、单个站点的消费趋势好做,使用脚本管道分组聚合,获取max-min。如下:
{
"query": {
"term":{
"siteId": 1
}
},
"aggs": {
"date_histo": {
"date_histogram": {
"field": "collectTime",
"interval": "1d",
"format": "yyyy-MM-dd",
"keyed": true
},
"aggs": {
"totalRate": {
"stats": {
"field": "totalRate"
}
},
"sunshi": {
"bucket_script": {
"buckets_path": {
"maxCost": "totalRate.max",
"minCost": "totalRate.min"
},
"script": "params.maxCost - params.minCost"
}
}
}
}
},
"size": 0
}
4、问题:如果获取所有站点(800个)一定时间段的流量消费趋势怎么搞?
1 个回复
匿名用户
赞同来自: