Я пытаюсь написать конвейер для загрузки файла в logstash. Моя настройка требует указать в поле type
в разделе ввода значение Запуск нескольких независимых файлов конфигурации logstash с вводом, фильтрацией и выводом. К сожалению, исходные данные уже содержат поле type
, и похоже, что значение из исходных данных конфликтует со значением, предоставленным из входной конфигурации.
Исходные данные содержат массив json, подобный следующему
[
{"key1":"obj1", "type":"looks like a bad choose for a key name"},
{"key1":"obj2", "type":"you can say that again"}
]
Мой конвейер выглядит следующим образом
input {
exec {
command => "cat /path/file_containing_above_json_array.txt"
codec => "json"
type => "typeSpecifiedInInput"
interval => 3600
}
}
output {
if[type] == "typeSpecifiedInInput" {
stdout {
codec => rubydebug
}
}
}
Выход никогда не вызывается, потому что type
было установлено значение, предоставленное из исходных данных, а не значение, предоставленное из раздела ввода.
Как настроить входной конвейер, чтобы избежать этого конфликта?
Натан