С CSS, вы можете использовать разработанный внутри компании Logstash для загрузки данных в Elasticsearch для эффективного поиска и исследования. Файлы данных могут быть в формате JSON или CSV.
Logstash — это open-source, серверный конвейер обработки данных, который одновременно получает данные из нескольких источников, обрабатывает и преобразует их, а затем отправляет в Elasticsearch. Для получения подробной информации о Logstash посетите следующий веб‑сайт: https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html
В зависимости от развертывания Logstash задействованы следующие два сценария:
Рисунок 1 иллюстрирует, как импортируются данные при развертывании Logstash в внешней сети.
Рисунок 1 Импорт данных при развертывании Logstash в внешней сети

ssh -g -L <Local port of the jump host:Private network address and port number of a node> -N -f root@<Private IP address of the jump host>
Например, порт 9200 на jump host присвоены разрешения доступа к внешней сети, приватный сетевой адрес и номер порта узла 192.168.0.81 и 9200, соответственно, и приватный IP-адрес jump host 192.168.0.227. Необходимо выполнить следующую команду для выполнения привязки портов:
ssh -g -L 9200:192.168.0.81:9200 -N -f root@192.168.0.227
Например, файл данных access_20181029_log должен быть импортирован, путь к хранилищу файла /tmp/access_log/ (создайте папку access_log, если она ещё не существует), а файл данных включает следующие данные:
| All | Heap used for segments | | 18.6403 | MB || All | Heap used for doc values | | 0.119289 | MB || All | Heap used for terms | | 17.4095 | MB || All | Heap used for norms | | 0.0767822 | MB || All | Heap used for points | | 0.225246 | MB || All | Heap used for stored fields | | 0.809448 | MB || All | Segment count | | 101 | || All | Min Throughput | index-append | 66232.6 | docs/s || All | Median Throughput | index-append | 66735.3 | docs/s || All | Max Throughput | index-append | 67745.6 | docs/s || All | 50th percentile latency | index-append | 510.261 | ms |
cd /<Logstash installation directory>/vi logstash-simple.conf
input {Location of data}filter {Related data processing}output {elasticsearch {hosts => "<EIP of the jump host>:<Number of the port assigned external network access permissions on the jump host>"}}
Рассмотрите файлы данных в /tmp/access_log/ путь, указанный в 4 например. Предположим, что импорт данных начинается с данных в первой строке файла данных, условие фильтрации оставлено неуказанным (что указывает на отсутствие операций обработки данных), публичный IP-адрес и номер порта промежуточного хоста 192.168.0.227 и 9200, соответственно, и имя целевого индекса myindex. Отредактируйте файл конфигурации следующим образом, и введите :wq чтобы сохранить файл конфигурации и выйти.
input {file{path => "/tmp/access_log/*"start_position => "beginning"}}filter {}output {elasticsearch {hosts => "192.168.0.227:9200"index => "myindex"}}
Если сообщается об ошибке лицензии, установите ilm_enabled в false чтобы попытаться исправить ошибку.
Если в кластере включён режим безопасности, вам необходимо сначала загрузить сертификат.
Рассмотрите файлы данных в /tmp/access_log/ путь, указанный в 4 как пример. Предположим, что импорт данных начинается с данных в первой строке файла данных, условие фильтрации оставлено неуказанным (указывая, что операции обработки данных не выполняются), и публичный IP‑адрес и номер порта jump‑host являются 192.168.0.227 и 9200, соответственно. Имя индекса для импорта данных является myindex, и сертификат хранится в /logstash/config/CloudSearchService.cer. Отредактируйте файл конфигурации следующим образом и введите :wq чтобы сохранить файл конфигурации и выйти.
input{file {path => "/tmp/access_log/*"start_position => "beginning"}}filter {}output{elasticsearch{hosts => ["https://192.168.0.227:9200"]index => "myindex"user => "admin" # Username for accessing the security-mode clusterpassword => "******" # Password for accessing the security-mode clustercacert => "/logstash/config/CloudSearchService.cer"manager_template => falseilm_enabled => falsessl => truessl_certificate_verification => false}}
./bin/logstash -f logstash-simple.conf
Эта команда должна быть выполнена в каталоге, где logstash-simple.conf файл находится. Например, если logstash-simple.conf файл хранится в /root/logstash-7.1.1/, перейдите в этот каталог перед выполнением команды.
Выполните следующую команду для поиска данных. Просмотрите результаты поиска. Если найденные данные соответствуют импортированным данным, данные успешно импортированы.
GET myindex/_search
Рисунок 2 иллюстрирует, как данные импортируются, когда Logstash развернут на ECS, находящемся в том же VPC, что и кластер, в который данные должны быть импортированы.
Рисунок 2 Импорт данных при развернутом Logstash на ECS

Например, файл данных access_20181029_log хранится в /tmp/access_log/ путь ECS, а файл данных содержит следующие данные:
| All | Heap used for segments | | 18.6403 | MB || All | Heap used for doc values | | 0.119289 | MB || All | Heap used for terms | | 17.4095 | MB || All | Heap used for norms | | 0.0767822 | MB || All | Heap used for points | | 0.225246 | MB || All | Heap used for stored fields | | 0.809448 | MB || All | Segment count | | 101 | || All | Min Throughput | index-append | 66232.6 | docs/s || All | Median Throughput | index-append | 66735.3 | docs/s || All | Max Throughput | index-append | 67745.6 | docs/s || All | 50th percentile latency | index-append | 510.261 | ms |
cd /<Logstash installation directory>/vi logstash-simple.conf
Введите следующее содержание в logstash-simple.conf:
input {Location of data}filter {Related data processing}output {elasticsearch{hosts => "<Private network address and port number of the node>"}}
Если в кластере содержится несколько узлов, рекомендуется заменить значение <частный сетевой адрес и номер порта узла> на частные сетевые адреса и номера портов всех узлов в кластере, чтобы предотвратить отказы узлов. Используйте запятые (,) для разделения частных сетевых адресов и номеров портов узлов. Приводится пример:
hosts => ["192.168.0.81:9200","192.168.0.24:9200"]
Если в кластере содержится только один узел, формат выглядит следующим образом:
hosts => "192.168.0.81:9200"
Рассмотрите файлы данных в /tmp/access_log/ путь, указанный в 2 как пример. Предположим, что импорт данных начинается с первой строки файла, условие фильтрации не указано (что указывает на отсутствие операций обработки данных), частный сетевой адрес и номер порта узла в кластере, из которого будут импортироваться данные, являются 192.168.0.81 и 9200, соответственно, и имя целевого индекса myindex. Отредактируйте файл конфигурации следующим образом, и введите :wq чтобы сохранить файл конфигурации и выйти.
input {file{path => "/tmp/access_log/*"start_position => "beginning"}}filter {}output {elasticsearch {hosts => "192.168.0.81:9200"index => "myindex"}}
Если в кластере включён режим безопасности, сначала необходимо загрузить сертификат.
Рассмотрите файлы данных в /tmp/access_log/ путь, указанный в шаге 2 в качестве примера. Предположим, что импорт данных начинается с данных в первой строке файла данных, условие фильтрации оставлено неопределённым (что указывает на отсутствие операций обработки данных), публичный IP-адрес и номер порта jump host являются 192.168.0.227 и 9200, соответственно. Имя индекса для импорта данных равно myindex, а сертификат находится в /logstash/config/CloudSearchService.cer. Отредактируйте файл конфигурации следующим образом, и введите :wq для сохранения файла конфигурации и выхода.
input{file {path => "/tmp/access_log/*"start_position => "beginning"}}filter {}output{elasticsearch{hosts => ["https://192.168.0.227:9200"]index => "myindex"user => "admin" # Username for accessing the security-mode clusterpassword => "******" # Password for accessing the security-mode clustercacert => "/logstash/config/CloudSearchService.cer"manager_template => falseilm_enabled => falsessl => truessl_certificate_verification => false}}
./bin/logstash -f logstash-simple.conf
Выполните следующую команду для поиска данных. Просмотрите результаты поиска. Если найденные данные соответствуют импортированным данным, данные успешно импортированы.
GET myindex/_search
Для доступа к кластеру Elasticsearch в режиме безопасности, использующему HTTPS, необходимо загрузить сертификат безопасности. Чтобы получить этот сертификат безопасности (CloudSearchService.cer), выполните следующие шаги: