我的目標是將基於pId的事件組合到logstash中。但是我發現具有相同pId的事件不會被合併爲一個事件。我無法看到添加aggregation.Please幫助Aggregate logstash filter config
登錄看起來像這樣之後的任何變化:
June 1st 2017, 11:51:26.992 {id} {pId} ClassName:methodName:99 [DEBUG] - Received request:
June 1st 2017, 11:51:26.993 {id} {pId} ClassName:methodName:100 [DEBUG] - Id: abbababcajdfbjasndflsdlf
June 1st 2017, 11:51:26.993 {id} {pId} ClassName:methodName:100 [DEBUG] - unique id: AAAAA
June 1st 2017, 11:51:26.993 {id} {pId} ClassName:methodName:100 [DEBUG] Total time: 12
這裏是我的配置:
filter {
grok{
match => { "message" => "%{DATESTAMP:log_timestamp} %{DATA:id} %{DATA:pId} %{DATA:ClassName} [%{LOGLEVEL:severity}] - %{GREEDYDATA:message}" }
}
if [message] =~ /Received request:/ {
aggregate {
task_id => "%{pId}"
code => "map['message'] = event['message']"
map_action => "create"
}
}
else if [message] =~ /Total time:^/ {
aggregate {
task_id => "%{pId}"
code => "map['new_message'] = event['message'];event['new_message'] = map['new_message']"
map_action => "update"
end_of_task => true
timeout => 120
}
}
else {
aggregate {
task_id => "%{pId}"
code => "map['new_message'] = event['message'];event['new_message'] = map['new_message']"
map_action => "update"
}
}
}
示例配置或文檔指導如何使用多行執行此操作可能會有幫助。我沒有看到5.4中提供的stream_identity設置。 – user3141789
@ user3141789給你一個例子。 – sysadmin1138
謝謝你的樣品,但這裏有一個問題。這裏pId會很混亂。我只想用相同的pId組合事件。使用上面的多行配置,所有的pIds將被合併。 – user3141789