我的提取管道很大,有时事情需要一段时间才能从源代码升级到Elasticsearch索引。当前,当我们使用Logstash解析消息时,我们将根据源编写消息的时间来解析@timestamp
字段。但是,由于消息量很大,在被Logstash提取并发送到Elasticsearch索引之前,从源生产者那里花费时间目前未知,并且可能非常不一致。
是否可以将字段添加到Logstash的Elasticsearch输出插件中,以在消息发送到Elasticsearch时进行标记?
答案 0 :(得分:0)
您可以尝试将ruby过滤器添加为最后一个过滤器,以使用当前时间创建一个字段。
ruby {
code => "event.set('fieldName', Time.now())"
}
答案 1 :(得分:-1)
您可以在ingest pipeline中进行操作。这意味着该脚本是在elasticsearch中执行的,因此它的优点是可以包括由输出的反压引起的任何延迟。