Logstash “elapsed” 过滤器 - 双 "start" 事件
Logstash “elapsed” filter - double "start" event
如果我这样定义 elapsed 过滤器:
elapsed {
start_tag => "task-started"
end_tag => "task-terminated"
unique_id_field => "task-id"
timeout => 1200
new_event_on_match => true
}
如果有 2 个连续事件具有 start_tag
和相同的 task-id
会怎样?
我能想到几种可能:
- 开始时间将重置为第二个"start"事件时间
- 第一个事件会被认为是一个错误,因为它没有得到一个"end"事件,所以会发出一个错误事件,然后第二个事件将被正常处理。
- 第二个 "start" 事件将被忽略
那么是哪一个?
elapsed 过滤器收集所有 "start events"。如果两个或更多"start events"具有相同的ID,则只记录第一个,其他的被丢弃。
如果我这样定义 elapsed 过滤器:
elapsed {
start_tag => "task-started"
end_tag => "task-terminated"
unique_id_field => "task-id"
timeout => 1200
new_event_on_match => true
}
如果有 2 个连续事件具有 start_tag
和相同的 task-id
会怎样?
我能想到几种可能:
- 开始时间将重置为第二个"start"事件时间
- 第一个事件会被认为是一个错误,因为它没有得到一个"end"事件,所以会发出一个错误事件,然后第二个事件将被正常处理。
- 第二个 "start" 事件将被忽略
那么是哪一个?
elapsed 过滤器收集所有 "start events"。如果两个或更多"start events"具有相同的ID,则只记录第一个,其他的被丢弃。