Перенос журналов Elasticsearch в другой кластер

#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"
  }
}
  

Примечание:

  1. Выполните вышеупомянутую команду на вашем целевом экземпляре.

  2. Убедитесь, что исходный экземпляр внесен в белый список в elasticsearch.yml

       reindex.remote.whitelist: oldhost:9200
      
  3. Запустите процесс асинхронно, используя приведенный ниже параметр запроса

     POST _reindex?wait_for_completion=false 
      

Комментарии:

1. Я попробовал это (30 тыс. документов и не удаленное переиндексирование), и это сработало для 30 тыс. документов.