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

时间:2014-11-27 11:45:11

标签: kibana

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

简而言之,我想要输出

   select users, sum(sentbyte + receievedbyte) from TABLE_NAME group by users order by users desc

Kibana:enter image description here

更新了问题:

今天,我开始知道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"
             }
           }
         }
       }
     } 
}

1 个答案:

答案 0 :(得分:5)

这就是我在最新版本的Kibana 4 Beta(主版)中完成此任务的方法:

  1. 为用户总带宽设置脚本字段。目前,我已调用此字段bandwidth,使用脚本doc['rcvdbyte'].value + doc['sentbyte'].value,并将返回值设置为Number scripted field editor

  2. 使用和汇总为每个用户添加bandwidth。在我的数据集中,我没有用户,所以我正在使用clientipenter image description here

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

    希望有所帮助!