2017-06-25 13 views
1

私は動く集約を取得して自分のアプリケーションで稼動させようとしています。移動集計ElasticSearch

以下は、私のドキュメントのメトリクスの例です。

"_index" : "metrics-2017-06-23", 
"_type" : "metric", 
"_id" : "AVzUTWSCHd9DG10LCpmo", 
"_score" : 0.0, 
    "_source" : { 
    "organisation" : "Organisation", 
    "deployments" : [ 
    { 
     "deployment_name" : "tqwerty", 
     "instances" : [ 
     { 
      "instance_name" : "7962c130ae1247229ee67aa534172f77", 
      "object" : "fff", 
      "version" : "adacb76ebd21", 
      "cpu" : [ 
      { 
       "time" : 1498174600, 
       "value" : 10000 
      } 
      ], 
      "disk_read" : [ 
      { 
       "time" : 1498174600, 
       "value" : 430 
      } 
      ], 
      "disk_write" : [ 
      { 
       "time" : 1498174600, 
       "value" : 0 
      } 
      ], 
      "net_read" : [ 
      { 
       "time" : 1498174600, 
       "value" : 0 
      } 
      ], 
      "net_write" : [ 
      { 
       "time" : 1498174600, 
       "value" : 0 
      } 
      ] 
     } 
     ] 
    } 
    ] 
} 
} 
] 

IveはCurlの要求をどこまで受け取り、私が望む展開を分離しています。しかし、ちょうど私の移動aggを示していない。私はなぜドキュメンテーションの言葉に従っているのかわからない。

curl -XPOST '10.0.0.34:9200/_search?pretty' -H 'Content-Type: application/json' -d' 
{ 
"size": 20, 
"query": { 
    "bool": { 
    "must": [ 
    { "match": { "organisation": "Organisation"  }}, 
{ "match": { "deployments.deployment_name": "tqwerty" }} 
    ] 
} 
}, 
    "aggs": { 
    "my_date_histo":{     
    "date_histogram":{ 
     "field":"deployments.instances.cpu.time", 
     "interval":"30s" 
     }, 
     "aggs":{ 
      "the_sum":{ 
      "sum":{ "field": "deployments.instances.cpu.value" } 
      }, 
      "the_movavg":{ 
      "moving_avg":{ "buckets_path": "the_sum" } 
     } 
    } 
} 
} 
} 
' 

Curlリクエストはうまく実行されますが、移動すると表示されませんが、移動すると合計が表示されますが、データとよく一致します。

ありがとう、

+0

クエリによさそうだ、ここに示されているHTTPSよう窓、モデルのような他のパラメータを追加してみてください:// www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-pipeline-movavg-aggregation.html – tom

+0

また、サイズを試してみてください:すべてのデータをフェッチするには、サイズがあります:20が理由です。 – tom

答えて

1

は、私がコメントから言っている -

curl -XPOST 'localhost:9200/_search?pretty' -H 'Content-Type: application/json' -d' 
    { 
     "size": 0, 
     "query": { 
       "bool": { 
        "must": [ 
         { "match": { "organisation": "Organisation"}}, 
         { "match": { "deployments.deployment_name": "tqwerty" }} 
        ] 
        } 
       }, 
     "aggs": { 
       "my_date_histo":{     
        "date_histogram":{ 
         "field":"deployments.instances.cpu.time", 
         "interval":"30s" 
       }, 
       "aggs":{ 
       "the_sum":{ 
       "sum":{ "field": "deployments.instances.cpu.value" } 
       }, 
       "the_movavg":{ 
         "moving_avg":{ "buckets_path": "the_sum" } 
       } 
      } 
     } 
    } 
} 

結論:変更サイズ0

1

これは私の問題を解決するようです。先日はなかったので驚くべきことです。他の誰かがこれにぶつかるなら、トムが言ったことを試してみてください。うまくいけばそれはあなたのために働くでしょう。ここで

+0

それを知ってうれしい、私の答えを受け入れ、upvoteしてください、ありがとう – tom

関連する問題