2017-02-28 9 views
0

Elasticsearchに2つの文書を関連付ける方法がありますか?基本的には「この2つは一緒に属しています。弾性検索の文書化

たとえば、同じストリームの一部であるTCPパケットを関連付けることができるようにしたいので、SYNとSYN-ACKを取得したら、これらの2つのパケットが互いに関連していると言いたいと思います。

最後に、「対応するSYN-ACKを持っていないすべてのSYNパケットを私に渡してください」と言いたいと思います。

すべてのヘルプは

EDITを高く評価されています。おそらく、これを達成するlogstashアグリゲータを介してパケットを送りますか?次に、パケットを「ストリームインデックス」にグループ化できますか?

答えて

1

LogstashでTCPイベントをロードする場合は、aggregate filterを利用できます。

たとえば、以下のフィルタ構成では、すべてSYNに合成イベントが作成され、SYN-ACKに「リリース」されます。両方のパケットを関連付けるものとしてバインドするフィールドsome_unique_idを特定するだけで済みます。また、適切なtimeout(ここでは120秒)を見て確認してください

filter {  
    if [type] == "SYN" { 
    aggregate { 
     task_id => "%{some_unique_id}" 
     map_action => "create" 
    } 
    } 

    if [type] == "SYN-ACK" { 
    aggregate { 
     task_id => "%{some_unique_id}" 
     map_action => "update" 
     end_of_task => true 
     timeout => 120 
    } 
    } 
} 
+0

おかげで、どのような最終文書は次のようになりますか? SYN-ACKが来たときにESクエリを実行する方が良いでしょうか?あなたの助けは非常に高く評価されています.. – user98651