С CSS, вы можете использовать разработанный внутри компании Logstash для загрузки данных в OpenSearch для эффективного поиска и исследования. Поддерживаемые форматы данных включают JSON и CSV.
Logstash — это открытая, серверная конвейерная обработка данных, который загружает данные из нескольких источников одновременно, обрабатывает и преобразует их, а затем отправляет в OpenSearch. Для получения дополнительной информации о 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‑адрес и номер порта jump host являются 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
Figure 2 иллюстрирует процесс загрузки данных, когда Logstash развернут на ECS, находящемся в том же VPC, что и целевой кластер.
Figure 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 address и номер порта 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
Для доступа к OpenSearch‑кластеру в режиме безопасности, использующему HTTPS, необходимо загрузить сертификат безопасности. Чтобы получить этот сертификат безопасности (CloudSearchService.cer), выполните следующие действия: