Я пытаюсь синхронизировать c базу данных mongoDB с эластичным поиском. Я использую плагины logsta sh -input-mongoDb и logsta sh -output -asticsearch .
Проблема в том, что плагин mongoDb не может извлечь всю информацию из вставленного документа в mongodb, поэтому я вижу только несколько полей, вставляемых вasticsearch. И я также получаю весь запрос в виде журнала в индексе эластичного поиска. Я попытался манипулировать фильтрами в файле конфигурации для logsta sh и изменить входные данные наasticsearch, но не смог заставить его работать.
Любая помощь или предложение было бы здорово.
Редактировать :
Пн go схема:
A:{
B: 'sometext',
C: {G: 'someText', H:'some text'}
},
D:[
{E:'sometext',F:'sometext'},
{E:'sometext',F:'sometext'},
{E:'sometext',F:'sometext'}
]
плагин:
input {
mongodb {
uri => 'mongodb://localhost:27017/testDB'
placeholder_db_dir => '/opt/logstash-mongodb/'
placeholder_db_name => 'logstash_sqlite.db'
collection => 'testCOllection'
batch_size => 1000
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
action => "index"
index => "testdb_testColl"
hosts => ["localhost:9200"]
}
}
вывод в elasti c:
{
//some metadata
A_B: 'sometext',
A_C_G: 'someText',
A_C_H: 'some text',
log_entry: 'contains complete document inserted to mongoDB'
}
Мы не получаем свойство D из mon go коллекции в elasti c. Надеюсь, что это объясняет проблему более подробно.