I file di registro arrivano in uno stack ELK. Voglio copiare un campo (foo) per eseguire varie mutazioni su di esso, tuttavia il campo (foo) non è sempre presente.logstash controlla se il campo esiste
Se foo non esiste, quindi bar viene comunque creato, ma è assegnata la stringa letterale "%{foo}"
Come posso eseguire una mutazione solo se esiste un campo?
Sto provando a fare qualcosa di simile.
if ["foo"] {
mutate {
add_field => "bar" => "%{foo}
}
}
Sembra che questo potrebbe funzionare, ma c'è questo bug se il campo ['foo'] è un booleano. https://github.com/elastic/logstash/issues/1867 – spuder
L'ultimo esempio non funziona con i numeri (Logstash 1.5.4). – Newerth