Elasticsearch中是否有办法将两个文档关联起来基本上说:"这两个文件属于一起"。
例如,我希望能够关联属于同一个流的TCP数据包,所以如果我得到一个SYN和一个SYN-ACK,我想说这两个数据包是相互关联的。< / p>
最后,我希望能够说:&#34;给我所有没有相应SYN-ACK的SYN数据包&#34;。
感谢任何帮助
编辑:也许通过logstash聚合器提供数据包可以实现这一目标吗?然后我可以将数据包分组为&#34;流索引&#34; ??答案 0 :(得分:1)
如果您通过Logstash加载TCP事件,则可以利用aggregate
filter。
例如,下面的过滤器配置将在每个SYN-ACK
和&#34;发布&#34;上创建合成事件。它在每some_unique_id
。您只需要识别一个字段timeout
,它将两个数据包绑定在一起作为相关的。另外,请务必查看正确的 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
}
}
}
(此处为120秒)
public class Fibonaccisequence {
public static void main(String args[]){
int term[] = new int[]{1,2};
int termValue = term[0]+term[1];
int sum = 0;
while(termValue <= 4000000)
{
termValue = term[0]+term[1];
if (term[1]%2==0)
{sum=sum+term[0];}
int a= term[1];
term[1]=termValue;
term[0]=a;
}
System.out.println(sum);
}
}