#docker #elasticsearch #logging #elastic-stack #elk
#docker #elasticsearch #ведение журнала #эластичный стек #elk
Вопрос:
У меня есть развертывание Elasticsearch в Kubernetes (AKS). Я использую официальные образы docker от Elastic для развертывания. Журналы хранятся на постоянном диске Azure. Как я могу перенести некоторые из этих журналов в другой кластер с аналогичной настройкой? Необходимо перенести только те журналы, которые соответствуют условию фильтрации на основе даты и времени журналов.
Комментарии:
1. Вы пробовали переиндексировать API? elastic.co/guide/en/elasticsearch/reference/current /…
2. Вы можете использовать logstash с конвейером {input, filters, output} .
3. @Sahil Большое спасибо, это работает. Однако я получаю только 10000 документов одновременно, в то время как фактическое количество документов превышает миллион.
Ответ №1:
Пожалуйста, используйте API переиндексации для достижения того же
POST _reindex
{
"source": {
"remote": {
"host": "http://oldhost:9200",
"username": "user",
"password": "pass"
},
"index": "source",
"query": {
"match": {
"test": "data"
}
}
},
"dest": {
"index": "dest"
}
}
Примечание:
-
Выполните вышеупомянутую команду на вашем целевом экземпляре.
-
Убедитесь, что исходный экземпляр внесен в белый список в elasticsearch.yml
reindex.remote.whitelist: oldhost:9200
-
Запустите процесс асинхронно, используя приведенный ниже параметр запроса
POST _reindex?wait_for_completion=false
Комментарии:
1. Я попробовал это (30 тыс. документов и не удаленное переиндексирование), и это сработало для 30 тыс. документов.