У меня есть много файлов свойств со следующими структурами ключ = значение, пример данных:
rejets.cache.temporaire.time=60
data.cache.referentiel.time=10
data.cache.temporaire.time=60
data.cache.getinfos.time=200
Конфигурация входного файла:
file {
path => [ "C:/logstash-7.3.1/data/input/data_conf_recette/keyvalue/*" ]
start_position => beginning
type => "config_file_kv_recette"
codec => multiline {
pattern => "\n"
what => "previous"
negate => true
}
}
Я хочу проиндексировать этот файлкак документ эластичный поиск динамически (имя поля), например:
{
rejets.cache.temporaire.time:60
data.cache.referentiel.time:10
data.cache.temporaire.time:60
data.cache.getinfos.time:200
}
Я использовал следующую конфигурацию, но я обнаружил, что в моем индексе каждое поле индексируется в одном документе, поэтому в моем случае у меня есть 4проиндексированные документы:
mutate {
gsub => [ "message", "[\\\\]r", "esp" ]
gsub => [ "message", "[\\\\]n", "ace" ]
}
ruby {
code => "begin; event['message'] = event['message'].split(/espace/); rescue Exception; end"
}
kv {
source => "message"
value_split => "="
field_split => "\n"
}
grok {
match => { "message" => "(?<param>[^=]*)=%{GREEDYDATA:value}" }
}
if "_grokparsefailure" in [tags] {
drop {}
}
mutate {
remove_field => ["message"]
}
Как мне это сделать, пожалуйста? спасибо за помощь