Вставка данных Elasticsearch с Python - PullRequest
0 голосов
/ 12 июля 2019

Я новичок в использовании Elastic Stack, так что извините за недостаток знаний по этому вопросу.Я использую Elastic Stack на Windows 10, корпоративный рабочий компьютер.У меня установлен Git Bash для Bash Cli, и я могу успешно запустить весь Elastic Stack.Моя задача - взять данные журнала, которые хранятся в одной из наших баз данных, и отобразить их на приборной панели Kibana.

Исходя из того, что я и моя команда рассуждали, мне не нужно использовать Logstash, потому что база данных, котораяжурналы отправляются на это, по сути, наше «хранилище журналов», поэтому использование службы Logstash было бы излишним.Я нашел эту изящную диаграмму 1]

на freecodecamp, и из того, что я понял, Logstash - всего лишь посредник для поиска журналов различных сервисов.Таким образом, вместо использования Logstash, поскольку данные журнала уже находятся в базе данных, я мог бы просто сделать что-то вроде этого

USER ---> KIBANA <---> ELASTICSEARCH <--- My Python Script <--- [DATABASE]

Мой скрипт Python успешно вызывает нашу базу данных и извлекает данные, а также функцию, которая формируетданные в объект dict (как я понимаю, Elasticsearch берет данные в формате JSON).

Теперь я хочу вставить все эти данные в Elasticsearch - я читал документы Elastic, и есть многоразговоров об индексации, которая на самом деле не индексируется, и я не нашел никаких вызовов API, которые я мог бы использовать, чтобы подключить данные прямо к Elasticsearch.Вся документация, которую я нашел до сих пор, касается использования Logstash, но, поскольку я не использую Logstash, я немного растерялся.

Если есть кто-нибудь, кто может мне помочь иНаправь меня в правильном направлении, я буду признателен.Спасибо

-Дан

1 Ответ

1 голос
/ 12 июля 2019

Вы принимаете данные наasticsearch с помощью Index API , это в основном запрос с использованием метода PUT.

Для этого в Python вы можете использовать asticsearch-py , официальный клиент python для эластичного поиска.

Но иногда то, что вам нужно, проще сделать с помощью Logstash, так как он может извлекать данные из вашей базы данных, форматировать их с помощью многих фильтров и отправлять вasticsearch.

...