我想创建每个用户带宽使用情况的图/表。我怎么在kibana做?我已经为每个用户发送了字节和接收的字节。
简而言之,我想要输出
select users, sum(sentbyte + receievedbyte) from TABLE_NAME group by users order by users desc
Kibana:
更新了问题:
今天,我开始知道kibana 3.X版本不支持聚合。你必须使用kibana 4.x.我使用了以下形式的弹性搜索请求,它给出了所需的结果。但我怎么做我在kibana 4 beta 2中以图形形式表示它?
POST logstash-2014.12.02/_search
{
"size": 0,
"aggs": {
"group_by_bandwidth": {
"terms": {
"field": "user",
"order": {
"TotalBandwidth": "desc"
}
},
"aggs": {
"TotalBandwidth": {
"sum": {
"script" : "doc['rcvdbyte'].value + doc['sentbyte'].value"
}
}
}
}
}
}
答案 0 :(得分:5)
这就是我在最新版本的Kibana 4 Beta(主版)中完成此任务的方法:
为用户总带宽设置脚本字段。目前,我已调用此字段bandwidth
,使用脚本doc['rcvdbyte'].value + doc['sentbyte'].value
,并将返回值设置为Number
使用和汇总为每个用户添加bandwidth
。在我的数据集中,我没有用户,所以我正在使用clientip
。
虽然我的数据略有不同,但字段可以换成数据集,应该可以正常工作。这些聚合也应该适用于其他可视化类型。
希望有所帮助!