Вы можете использовать собственный Logstash для миграции данных в Elasticsearch или OpenSearch in CSS. Это помогает эффективно получать и управлять данными через CSS. Файлы данных могут быть в формате JSON или CSV.
Logstash — это открытая, серверная конвейерная система обработки данных, которая может одновременно принимать данные из нескольких источников, преобразовывать их и затем отправлять в Elasticsearch или OpenSearch. Для получения подробной информации о Logstash посетите следующий веб‑сайт: https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html
Следующие два сценария задействованы в зависимости от развертывания Logstash:
- Импорт данных при развертывании Logstash во внешней сети
- Импорт данных при развертывании Logstash на ECS
Требования
- Для упрощения операций рекомендуется развернуть Logstash на хосте с операционной системой Linux (OS).
- Для загрузки Logstash перейдите на следующий веб‑сайт: https://www.elastic.co/downloads/logstash-ossNote
Logstash требует OSS‑версию, совпадающую с версией CSS.
- JDK должен быть установлен до установки Logstash. В Linux OS вы можете выполнить yum -y install java-1.8.0 команда для установки JDK 1.8.0. В Windows OS вы можете скачать требуемую версию JDK с официальный веб‑сайт JDK, а затем установить его, следуя руководству по установке.
- После установки Logstash выполните следующие шаги для импорта данных. Для получения подробностей о том, как установить Logstash, перейдите на следующий веб‑сайт: https://www.elastic.co/guide/en/logstash/current/installing-logstash.html
- В Импорт данных при развертывании Logstash на ECS сценарии, убедитесь, что ECS и кластер Elasticsearch, в который импортируются данные, находятся в одной VPC.
Импорт данных при развертывании Logstash во внешней сети
Рисунок 1 показывает, как данные импортируются при развертывании Logstash во внешней сети.
Рисунок 1 Импорт данных при развертывании Logstash во внешней сети

- Создайте jump Хост и настройте его следующим образом:
- Jump Хост является ECS, работающим под Linux OS, и привязан к EIP.
- Jump Хост находится в том же VPC, что и CSS cluster.
- Для Jump Хоста настроено локальное перенаправление портов SSH, чтобы перенаправлять запросы с выбранного локального порта на порт 9200 на одном узле CSS cluster.
- Обратитесь к документация SSH для конфигурации локального перенаправления портов.
- Используйте PuTTY для входа в созданный jump Хост с помощью EIP.
- Выполните следующую команду для настройки переадресации портов и перенаправления запроса, отправленного на порт jump host, к целевому кластеру: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>Note
- В предыдущей команде, <Локальный порт jump host> указывает на порт, полученный в 1.
- В предыдущей команде, <Приватный сетевой адрес и номер порта узла> указывает на приватный сетевой адрес и номер порта узла в кластере. Если узел неисправен, выполнение команды завершится с ошибкой. Если кластер содержит несколько узлов, вы можете заменить значение <приватный сетевой адрес и номер порта узла> на приватный сетевой адрес и номер порта любого доступного узла в кластере. Если в кластере только один узел, восстановите узел и выполните команду снова.
- Замените <Приватный IP-адрес jump host> в предыдущей команде с IP address (с Private IP) созданного jump host в IP Address в столбце списка ECS в консоли управления ECS.
Например, порт 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 - Войдите на сервер, где развернут Logstash, и сохраните файлы данных, которые необходимо импортировать на сервер.
Например, файл данных access_20181029_log нужно импортировать, путь к файлу хранения /tmp/access_log/, и файл данных содержит следующие данные:
NoteСоздайте 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 | - На сервере, где развернут Logstash, выполните следующую команду для создания конфигурационного файла logstash-simple.conf в каталоге установки Logstash:cd /<Logstash installation directory>/vi logstash-simple.conf
- Введите следующее содержание в 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>"}}
- Параметр input указывает источник данных. Установите этот параметр в соответствии с фактическими условиями. Для получения подробной информации о input параметр и использование параметра, посетите следующий веб‑сайт: https://www.elastic.co/guide/en/logstash/current/input-plugins.html
- The фильтр параметр указывает режим, в котором обрабатываются данные. Например, извлекать и обрабатывать логи, чтобы преобразовать неструктурированную информацию в структурированную информацию. Для получения подробной информации о фильтр параметр и использование параметра, посетите следующий веб-сайт: https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
- The вывод параметр указывает адрес назначения данных. Для получения подробной информации о вывод параметр и использование параметра, посетите https://www.elastic.co/guide/en/logstash/current/output-plugins.html. Заменить <EIP-адрес jump host> с IP-адресом (с EIP) созданного jump host в IP-адрес столбце в списке ECS в консоли управления ECS. <Номер порта, назначенного внешним сетевым разрешениям доступа на jump host> это номер порта, полученный в 1, например, 9200.
Рассмотрите файлы данных в /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"}}NoteЕсли сообщается об ошибке лицензии, установите ilm_enabled в false.
Если у кластера включён режим безопасности, сначала необходимо скачать сертификат.
- Войдите в CSS консоль управления.
- На Кластеры странице, нажмите имя кластера, для которого вы хотите скачать сертификат. Раздел Основная информация страница отображается.
- Скачайте сертификат на Базовая информация страница кластера.
- Сохраните сертификат на сервере, где развернут Logstash.
- Измените logstash-simple.conf файл конфигурации.
Учтите файлы данных в /tmp/access_log/ путь, упомянутый в 4 в качестве примера. Предположим, что импорт данных начинается с данных в первой строке файла данных, условие фильтрации оставлено неопределённым (указывая, что операции обработки данных не выполняются), и публичный IP address и номер порта jump host являются 192.168.0.227 и 9200, соответственно. Имя индекса для импорта данных myindex, и сертификат хранится в /logstash/logstash6.8/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"password => "******"cacert => "/logstash/logstash6.8/config/CloudSearchService.cer"manager_template => falseilm_enabled => falsessl => truessl_certificate_verification => false}}Noteпароль: пароль для входа в кластер
- Выполните следующую команду, чтобы импортировать данные, собранные Logstash, в кластер:./bin/logstash -f logstash-simple.confNote
Эту команду необходимо выполнить в каталоге, где находится logstash-simple.conf файл хранится. Например, если logstash-simple.conf файл хранится в /root/logstash-7.1.1/, перейдите в каталог перед запуском команды.
- Войдите в CSS консоль управления.
- В навигационной панели слева разверните Кластеры и выберите тип кластера. Показан список кластеров.
- В списке кластеров найдите строку, содержащую кластер, в который вы хотите импортировать данные, и нажмите Открыть Kibana в Операция столбце.
- В навигационной панели Kibana слева выберите Dev Tools.
- На Консоли странице Kibana выполните поиск импортированных данных.
На Консоли странице Kibana выполните следующую команду для поиска данных. Просмотрите результаты поиска. Если найденные данные соответствуют импортированным, данные были успешно импортированы.
GET myindex/_search
Импорт данных при развертывании Logstash на ECS
Рисунок 2 показывает, как импортируются данные, когда Logstash развернут на ECS, находящемся в той же VPC, что и Кластер, в который данные должны быть импортированы.
Рисунок 2 Импорт данных при развертывании Logstash на ECS

- Убедитесь, что ECS, где развернут Logstash, и Кластер, в который должны быть импортированы данные, находятся в одной VPC, порт 9200 группы безопасности ECS получила разрешения на внешний сетевой доступ, и к ECS привязан EIP.Note
- Если в VPC несколько серверов, вам не нужно привязывать EIP к другим серверам, если один сервер уже привязан к EIP. Переключитесь на узел, где развернут Logstash, с узла, к которому привязан EIP.
- Если доступна частная линия или VPN, привязывать EIP не требуется.
- Используйте PuTTY для входа в 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 | - Выполните следующую команду для создания файла конфигурации logstash-simple.conf в каталоге установки Logstash: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>"}}- Эта ввод параметр указывает источник данных. Установите этот параметр в соответствии с реальными условиями. Для получения подробной информации о ввод параметре и использовании параметра, посетите следующий веб‑сайт: https://www.elastic.co/guide/en/logstash/current/input-plugins.html
- Эта фильтр параметр указывает режим обработки данных. Например, извлекать и обрабатывать журналы, чтобы преобразовать неструктурированную информацию в структурированную информацию. Для получения подробной информации о фильтр параметр и использование параметра, посетите следующий веб‑сайт: https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
- Эта вывод параметр указывает адрес назначения данных. Для получения подробной информации о вывод параметр и использование параметра, посетите https://www.elastic.co/guide/en/logstash/current/output-plugins.html. <частный сетевой адрес и номер порта узла> относится к частному сетевому адресу и номеру порта узла в кластере.
Если кластер содержит несколько узлов, рекомендуется заменить значение <Частный сетевой адрес и номер порта узла> с частными сетевыми адресами и номерами портов всех узлов в кластере для предотвращения сбоев узлов. Используйте запятые (,) для разделения частных сетевых адресов и номеров портов узлов. The following is an example:
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"}}Если у кластера включён режим безопасности, сначала необходимо загрузить сертификат.
- Скачайте сертификат на Основная информация страница кластера.
- Поместите сертификат на сервер, где развернут Logstash.
- Измените logstash-simple.conf файл конфигурации.
Рассмотрите файлы данных в /tmp/access_log/ путь, указанный в шаге 2 в качестве примера. Предположим, что импорт данных начинается с данных в первой строке файла данных, условие фильтрации оставлено неопределённым (указывая на отсутствие операций обработки данных), публичный IP‑адрес и номер порта переходного хоста 192.168.0.227 и 9200, соответственно. Имя индекса для импорта данных myindex, а сертификат хранится в /logstash/logstash6.8/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"password => "******"cacert => "/logstash/logstash6.8/config/CloudSearchService.cer"manager_template => falseilm_enabled => falsessl => truessl_certificate_verification => false}}Noteпароль: пароль для входа в кластер
- Выполните следующую команду, чтобы импортировать данные ECS, собранные Logstash, в кластер:./bin/logstash -f logstash-simple.conf
- Войдите в CSS консоль управления.
- В левом навигационном окне разверните Кластеры и выберите тип кластера. Появится список кластеров.
- В списке кластеров найдите строку, содержащую кластер, в который вы хотите импортировать данные, и нажмите Откройте Kibana в Операция столбце.
- В левой навигационной панели Kibana выберите Dev Tools.
- На Консоль странице Kibana выполните поиск импортированных данных.
На Консоль странице Kibana выполните следующую команду для поиска данных. Просмотрите результаты поиска. Если найденные данные совпадают с импортированными, данные успешно импортированы.
GET myindex/_search