如何将临时数据从过滤器传递到logstash中的输出

如何将临时数据从过滤器传递到logstash中的输出,logstash,Logstash,如何将临时数据从过滤器传递到logstash中的输出 filter { mutate { add_field => {"TEMP_DATA" => "%{some value}"} } } output { elasticsearch { document_id => "%{TEMPDATA}" } } 上面将输出TEMPDATA值实现这一点的正确和标准方法是使用@metadata是一个特

如何将临时数据从过滤器传递到logstash中的输出

filter {    

    mutate {
         add_field => {"TEMP_DATA" => "%{some value}"}
    }      
}

output {  
   elasticsearch {
       document_id => "%{TEMPDATA}"
   }
}

上面将输出TEMPDATA值

实现这一点的正确和标准方法是使用
@metadata
是一个特殊字段,它永远不会存储在事件中,但其唯一目的是在输入、筛选和输出之间传递数据

示例用法:

filter {
  mutate { add_field => { "[@metadata][TEMP_DATA]" => "%{some value}" } }
}

output {
  elasticsearch {
    document_id => "%{[@metadata][TEMP_DATA]}"
  }
}