如何为kibana中的每个用户创建带宽使用聚合

Nar*_*esh 0 kibana

我想创建每个用户带宽使用情况的图/表.我怎么在kibana做?我已经为每个用户发送了字节和接收的字节.

总之,我想要输出

   select users, sum(sentbyte + receievedbyte) from TABLE_NAME group by users order by users desc
Run Code Online (Sandbox Code Playgroud)

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"
             }
           }
         }
       }
     } 
}
Run Code Online (Sandbox Code Playgroud)

Spe*_*ger 5

这就是我在最新版本的Kibana 4 Beta(master)中实现这一目标的方法:

  1. 为用户总带宽设置脚本字段.现在,我调用了这个字段bandwidth,使用脚本doc['rcvdbyte'].value + doc['sentbyte'].value,并将返回值设置为Number 脚本字段编辑器

  2. 使用sum聚合bandwidth为每个用户添加.在我的数据集中,我没有用户,所以我正在使用clientip. 在此输入图像描述

虽然我的数据略有不同,但字段可以换成您的数据集,应该可以正常工作.这些聚合也应该适用于其他可视化类型.

希望有所帮助!