Logstash add_field je nenaplnění hodnoty místo toho, to je napevno syntaxe v indexu

0

Otázka

Snažím se vytvořit nový výstupní index pomocí 3 vstupní index. V new výstup index musím naplnit několik konkrétních oblastí z vstupního index. Snažím se vytvořit nové pole pomocí add_field.je to napevno, jako '%{[index1name][field1inIndex1]}' místo vyplnění hodnoty z indexu. Zkoušel jsem níže uvedený kód:

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

Nejlepší odpověď

0

Pokud sprintf odkaz není substituovaný pak to znamená, neexistuje pole na události.

Index název není přidán do pole jméno elasticsearch vstup. (To může být přidány jako součást [@metadata] pokud povolíte docinfo možnost.) Takže pokud název pole v dokumentu v indexu jsou vaše čtení obsahuje index, jméno, co potřebujete, je

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

Pokud chcete název indexu v [newfieldname] pak budete muset použít odkaz na to, například

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

Děkuji @Jezevec. nad vaše odpověď je pracovní. Ale mám docinfo => "true" v mém vstupní plugin. Takže by to mělo trvat indexname
slj

Upravená odpověď ukázat, jak použít index jméno.
Badger

V jiných jazycích

Tato stránka je v jiných jazycích

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