2017-05-31 12 views
0

これは、ELKスタックに接続された各ホストで複数のノード(3〜5)が実行されていることです。elasticsearchのクエリ - ホストごとにノードごとのドキュメント数を取得する

基本的に各ホストと各ノードに表示されるドキュメントの数を指定するクエリを作成しようとしています。 「1-18」とノード:03

は今、それが自身のフィールドノードのさ...私はkibanaでこれを照会します

方法は

ホストのようなものになるだろうそのホストをプルアップするだろう...私は各ホストとホスト上の各ノード、最後の24時間にいくつのドキュメントが存在するかを調べようとしています。クエリは意味がありません。 2つのフィールドを使用しようとすると、機能しません。私は2つの範囲を使用しようとすると、どちらも動作しません。

私は、ホストごとの文書数を取得するには、次の使用:

{"size": 0,"aggs" : {"langs" : {"terms" : { "field" : "host" }}}} 

ことが難しい、ノードごとの集計を追加していますか?

答えて

1

あなたは、単にこのように、あなたのhost 1の下のサブ集約を追加する必要があります。Kibanaで

{ 
    "size": 0, 
    "aggs": { 
    "hosts": { 
     "terms": { 
     "field": "host" 
     }, 
     "aggs": { 
     "nodes": { 
      "terms": { 
      "field": "node" 
      } 
     } 
     } 
    } 
    } 
} 

、あなたが視覚化]タブに入ると円グラフを選択することにより、視覚的にこれを行うことができます。その後、hostフィールドにtermsアグリゲーションを使用し、[+サブバケットを追加]をクリックし、nodeフィールドに別のtermsアグリゲーションを使用します。

enter image description here

関連する問題