Logstash add_field non è la compilazione di valore, invece, è usare il nome di sintassi nell'indice

0

Domanda

Sto cercando di creare un nuovo indice di produzione utilizzando ingresso 3 indice. Nel nuovo indice di produzione è necessario compilare alcuni campi specifici da ingresso indice. Sto cercando di creare un nuovo campo utilizzando add_field.è usare il nome like '%{[index1name][field1inIndex1]}', invece, la compilazione di valore di indice. Ho provato di seguito il codice:

input
{
elasticsearch{
hosts => ["hostname"]
index => "index1"
query => '{"query":{"match_all":{}}}'
docinfo => "true"
user => "uname"
password =>"pwd"
ssl=>"true"
}
elasticsearch {
#same like above for index2
}
elasticsearch {
#same like above for index3
}
}    
filter
{
mutate
{
add_field =>["newfieldname","%{[index1][fieldinindex1]}"]
}
}
output 
{
elasticsearch {
#creating new index here
}
}
logstash
2021-11-23 23:11:06
1

Migliore risposta

0

Se una sprintf di riferimento non è sostituito poi indica il campo non esiste l'evento.

Il nome di indice non viene aggiunto il nome del campo da elasticsearch ingresso. (Può essere aggiunto come parte di [metadati@] se si attiva il docinfo opzione.) Quindi, a meno che il nome del campo nel documento dell'indice tua lettura che contiene il nome di indice di che cosa avete bisogno è

mutate { add_field => { "newfieldname" => "%{[fieldinindex1]}" } }

Se si desidera che il nome di indice nel [newfieldname] quindi è necessario utilizzare un riferimento ad esso, per esempio

mutate { add_field => { "newfieldname" => "%{[@metadata][_index]}_%{[fieldinindex1]}" } }
2021-11-24 00:55:23

Grazie @Badger. sopra la vostra risposta è lavoro. Ma ho docinfo => "true" nel mio plugin di ingresso. Quindi, si dovrebbe prendere indexname
slj

Regolato risposta per mostrare come utilizzare il nome di indice.
Badger

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................