Установка OpenSearch · 26 min read · Oct 12, 2025
Как установить OpenSearch на Debian 12

OpenSearch — это открытый форк Elasticsearch и Kibana, разработанный Amazon. Это распределенная и масштабируемая поисковая система в реальном времени, которая позволяет выполнять полнотекстовый поиск, а также аналитику. Она используется для индексации и поиска больших объемов данных. Обычно она разворачивается вместе с OpenSearch Dashboards (форк Kibana), мощной панелью визуализации данных для OpenSearch. OpenSearch Dashboards позволяет вам исследовать данные журналов OpenSearch и создавать панели и запросы для получения информации о вашем приложении.
Этот учебник покажет вам, как установить OpenSearch на сервер Debian 12. Вы также узнаете, как защитить вашу установку с помощью пользовательских TLS-сертификатов и включить аутентификацию в OpenSearch.
Предварительные требования
Сервер с установленным Debian 12 и минимум 4 ГБ ОЗУ.
Пользователь, не являющийся root, с правами sudo.
Упрощенный брандмауэр (UFW) включен и работает.
Полное доменное имя (FQDN), например
opensearch.example.com, указывающее на ваш сервер. Это полезно, если вы хотите обслуживать OpenSearch Dashboards через SSL с помощью прокси-сервера.Все обновлено.
$ sudo apt update && sudo apt upgradeДля учебника и работы Craft CMS требуется несколько основных пакетов. Некоторые из них уже могут быть на вашем сервере.
$ sudo apt install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y
Шаг 1 - Настройка брандмауэра
Первый шаг перед установкой любых пакетов — настроить брандмауэр для разрешения HTTP и HTTPS соединений.
Проверьте статус брандмауэра.
$ sudo ufw statusВы должны увидеть что-то похожее на следующее.
Статус: активен
Кому Действие Откуда
-- ------ ----
OpenSSH ALLOW Везде
OpenSSH (v6) ALLOW Везде (v6)Разрешите порты HTTP и HTTPS.
$ sudo ufw allow http
$ sudo ufw allow httpsПроверьте статус снова, чтобы подтвердить.
$ sudo ufw status
Статус: активен
Кому Действие Откуда
-- ------ ----
OpenSSH ALLOW Везде
80/tcp ALLOW Везде
443/tcp ALLOW Везде
OpenSSH (v6) ALLOW Везде (v6)
80/tcp (v6) ALLOW Везде (v6)
443/tcp (v6) ALLOW Везде (v6)Шаг 2 - Подготовка системы
Перед установкой OpenSearch нам нужно подготовить и оптимизировать нашу систему для него. Это включает несколько шагов, таких как отключение любой swap-памяти, если она у вас есть, установка количества карт памяти для вашей системы и настройка имени хоста системы.
Сначала проверьте, включена ли у вас swap-память.
$ free -mЕсли у вас включен swap, вы должны увидеть аналогичный вывод.
total used free shared buff/cache available
Mem: 7945 1083 6492 34 636 6861
Swap: 4242 0 4242Выполните следующие команды, чтобы отключить пространство swap навсегда.
$ sudo swapoff -a
$ sudo sed -i '/ swap / s/^\(.*\)$/#
1/g' /etc/fstabПроверьте swap-память снова, и она должна показать следующее.
total used free shared buff/cache available
Mem: 7945 1113 6449 37 651 6831
Swap: 0 0 0OpenSearch по умолчанию использует каталог mapfs для хранения своих индексов. Ограничения операционной системы по умолчанию на количество nmap слишком низки, что может вызвать ошибки нехватки памяти.
Проверьте текущее значение переменной vm.max_map_count.
$ sysctl -n vm.max_map_count
65530Чтобы увеличить количество карт памяти, используемых каждым процессом, выполните следующую команду.
$ sudo sysctl -w vm.max_map_count=262144Это будет работать только до перезагрузки системы. Чтобы сделать это значение постоянным, добавьте строку vm.max_map_count=262144 в файл /etc/sysctl.conf, используя следующую команду.
$ echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.confВы можете сделать изменение постоянным, перезагрузив систему или выполнив следующую команду.
$ sudo sysctl -pПоследний шаг — настройка имени хоста. В зависимости от того, где вы размещаете свой сервер, некоторые облачные компании позволяют вам установить имя хоста напрямую через свою панель управления. Однако лучше сделать это через терминал.
Выполните следующую команду, чтобы установить имя хоста.
$ sudo hostnamectl set-hostname opensearchДобавьте FQDN (полное доменное имя) в файл /etc/hosts. Здесь мы сопоставляем имя хоста opensearch с доменным именем opensearch.example.com и указываем его на IP-адрес сервера. Замените в команде ниже на IP-адрес вашего сервера.
$ echo " opensearch.example.com opensearch" | sudo tee -a /etc/hosts Проверьте имя хоста и FQDN, используя следующие команды.
$ hostname
opensearch
$ hostname -f
opensearch.example.comЭто завершает процесс оптимизации нашей системы для работы с OpenSearch.
Шаг 3 - Установка OpenSearch
Импортируйте GPG-ключ OpenSearch, используемый для подписи пакета установки.
$ curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyringСоздайте файл репозитория APT для OpenSearch.
$ echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.listОбновите список репозиториев системы.
$ sudo apt updateПроверьте все доступные версии OpenSearch.
$ sudo apt list -a opensearch
Listing... Done
opensearch/stable 2.12.0 amd64
opensearch/stable 2.11.1 amd64
opensearch/stable 2.11.0 amd64
opensearch/stable 2.10.0 amd64
opensearch/stable 2.9.0 amd64
opensearch/stable 2.8.0 amd64
opensearch/stable 2.7.0 amd64
opensearch/stable 2.6.0 amd64
opensearch/stable 2.5.0 amd64Последняя версия OpenSearch v2.12.0 требует, чтобы вы установили пароль администратора перед установкой, иначе установка завершится неудачей.
Вы можете установить последнюю версию OpenSearch, используя следующую команду. Мы можем установить пароль администратора, используя переменную окружения в самой команде установки. Выберите надежный пароль.
$ sudo env OPENSEARCH_INITIAL_ADMIN_PASSWORD= apt install opensearch Если вы увидите следующее предупреждение во время установки, вы можете смело игнорировать его.
......
chown: warning: '.' should be ':': ‘opensearch.opensearch’
chown: warning: '.' should be ':': ‘opensearch.opensearch’
chown: warning: '.' should be ':': ‘opensearch.opensearch’
chown: warning: '.' should be ':': ‘opensearch.opensearch’
chown: warning: '.' should be ':': ‘opensearch.opensearch’
......Или вы можете установить конкретную версию.
$ sudo apt install opensearch=2.11.1Перезагрузите демон службы.
$ sudo systemctl daemon-reloadВключите службу OpenSearch.
$ sudo systemctl enable opensearchЗапустите службу OpenSearch.
$ sudo systemctl start opensearchПроверьте статус службы OpenSearch.
$ sudo systemctl status opensearchВы должны получить следующий вывод.
? opensearch.service - OpenSearch
Loaded: loaded (/lib/systemd/system/opensearch.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-03-02 06:37:01 UTC; 5s ago
Docs: https://opensearch.org/
Main PID: 31109 (java)
Tasks: 75 (limit: 4652)
Memory: 1.3G
CPU: 1min 3.128s
CGroup: /system.slice/opensearch.service
??31109 /usr/share/opensearch/jdk/bin/java -Xshare:auto -Dopensearch.networkaddress.cache.ttl=60 -Dopensearch.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true...Шаг 4 - Тестирование OpenSearch
Перед тем как продолжить, давайте проверим, работает ли установка правильно. Выполните следующую команду, чтобы проверить, работает ли OpenSearch так, как задумано.
$ curl -X GET https://localhost:9200 -u 'admin:' --insecure Вы должны получить аналогичный вывод.
{
"name" : "opensearch",
"cluster_name" : "opensearch",
"cluster_uuid" : "3oFvYn96St2MOpDP3Sf29g",
"version" : {
"distribution" : "opensearch",
"number" : "2.12.0",
"build_type" : "deb",
"build_hash" : "2c355ce1a427e4a528778d4054436b5c4b756221",
"build_date" : "2024-02-20T02:18:31.541484890Z",
"build_snapshot" : false,
"lucene_version" : "9.9.2",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}Запросите конечную точку плагинов OpenSearch, чтобы увидеть список доступных плагинов.
$ curl -X GET https://localhost:9200/_cat/plugins?v -u 'admin:' --insecure Вы также можете использовать следующую команду для этого же.
$ /usr/share/opensearch/bin/opensearch-plugin listВы должны получить аналогичный вывод.
name component version
opensearch opensearch-alerting 2.12.0.0
opensearch opensearch-anomaly-detection 2.12.0.0
opensearch opensearch-asynchronous-search 2.12.0.0
opensearch opensearch-cross-cluster-replication 2.12.0.0
opensearch opensearch-custom-codecs 2.12.0.0
opensearch opensearch-flow-framework 2.12.0.0
opensearch opensearch-geospatial 2.12.0.0
opensearch opensearch-index-management 2.12.0.0
opensearch opensearch-job-scheduler 2.12.0.0
opensearch opensearch-knn 2.12.0.0
opensearch opensearch-ml 2.12.0.0
opensearch opensearch-neural-search 2.12.0.0
opensearch opensearch-notifications 2.12.0.0
opensearch opensearch-notifications-core 2.12.0.0
opensearch opensearch-observability 2.12.0.0
opensearch opensearch-performance-analyzer 2.12.0.0
opensearch opensearch-reports-scheduler 2.12.0.0
opensearch opensearch-security 2.12.0.0
opensearch opensearch-security-analytics 2.12.0.0
opensearch opensearch-skills 2.12.0.0
opensearch opensearch-sql 2.12.0.0Вы можете установить дополнительные плагины, используя следующую команду.
$ /usr/share/opensearch/bin/opensearch-plugin install Вы можете найти список доступных плагинов OpenSearch на их официальном сайте.
Шаг 5 - Настройка OpenSearch
Настройки OpenSearch по умолчанию не подходят для производственной среды. По умолчанию OpenSearch не привязан к сетевому интерфейсу и недоступен извне. Кроме того, используются имена пользователей и пароли по умолчанию, которые могут вызвать проблемы с безопасностью, если использовать их напрямую в производственной среде.
OpenSearch хранит свою конфигурацию в файле /etc/opensearch/opensearch.yml. Откройте его для редактирования.
$ sudo nano /etc/opensearch/opensearch.ymlНайдите строку #network.host: 192.168.0.1 и раскомментируйте ее, удалив хеш (#) перед ней и изменив ее значение, как показано. Это привязывает OpenSearch ко всем доступным интерфейсам. Вы также можете ввести конкретный IP, чтобы привязать его к конкретному интерфейсу.
# Установите адрес привязки на конкретный IP (IPv4 или IPv6):
#
network.host: 0.0.0.0Добавьте следующие строки в конец файла.
# Если вы еще не настроили кластер, вы должны установить
# discovery.type в single-node, иначе проверки загрузки
# не пройдут, когда вы попытаетесь запустить службу.
discovery.type: single-node
# Если вы ранее отключили плагин безопасности в opensearch.yml,
# обязательно включите его снова. В противном случае вы можете пропустить эту настройку.
plugins.security.disabled: falseПоскольку мы устанавливаем на одном сервере, мы установили discovery.type в single-node. Установка plugins.security.disabled в false включает плагин безопасности OpenSearch.
Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Нам также нужно указать начальные и максимальные размеры кучи JVM (Java Virtual Memory). Эта настройка зависит от размера ОЗУ вашего сервера. Например, мы используем сервер с 4 ГБ ОЗУ, поэтому устанавливаем размер кучи на 3 ГБ.
Создайте и откройте файл heapsize.options в каталоге /etc/opensearch/jvm.options.d для редактирования. Он перезапишет значение по умолчанию, установленное в файле /etc/opensearch/jvm.options.
$ sudo nano /etc/opensearch/jvm.options.d/heapsize.optionsДобавьте в него следующие строки.
-Xms3g
-Xmx3gСохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Перезапустите службу OpenSearch, чтобы применить изменения.
$ sudo systemctl restart opensearchВы можете проверить текущий размер кучи и максимальную память, используя следующую команду.
$ curl -sS "https://localhost:9200/_cat/nodes?h=heap*&v" -u 'admin:' --insecure Вы должны получить следующий вывод.
heap.current heap.percent heap.max
345.5mb 11 3gbШаг 6 - Настройка TLS для OpenSearch
Здесь мы будем генерировать сертификаты для защиты OpenSearch. TLS-сертификаты обеспечивают безопасность, позволяя клиентам подтверждать личность хостов и шифровать трафик между клиентом и хостом. Мы сгенерируем следующие сертификаты
- Сертификаты корневого CA - это основные сертификаты, которые будут подписывать все остальные сертификаты.
- Сертификаты администратора - эти сертификаты используются для получения повышенных прав для выполнения административных задач, связанных с плагином безопасности.
- Сертификаты узлов - эти сертификаты используются для связи между узлом и клиентом.
Все сертификаты OpenSearch хранятся в каталоге /etc/opensearch. Первый шаг — удалить сертификаты по умолчанию, установленные во время установки OpenSearch.
Перейдите в каталог OpenSearch.
$ cd /etc/opensearchУдалите сертификаты по умолчанию.
$ sudo rm -f *.pemОткройте файл конфигурации OpenSearch для редактирования.
$ sudo nano opensearch.ymlЗакомментируйте следующий код внизу файла, поставив хеш перед каждой строкой внутри секции Конфигурация демонстрации безопасности OpenSearch, как показано ниже.
######## Начало конфигурации демонстрации безопасности OpenSearch ########
# ПРЕДУПРЕЖДЕНИЕ: пересмотрите все строки ниже, прежде чем переходить в производство
#plugins.security.ssl.transport.pemcert_filepath: esnode.pem
#plugins.security.ssl.transport.pemkey_filepath: esnode-key.pem
#plugins.security.ssl.transport.pemtrustedcas_filepath: root-ca.pem
#plugins.security.ssl.transport.enforce_hostname_verification: false
#plugins.security.ssl.http.enabled: true
#plugins.security.ssl.http.pemcert_filepath: esnode.pem
#plugins.security.ssl.http.pemkey_filepath: esnode-key.pem
#plugins.security.ssl.http.pemtrustedcas_filepath: root-ca.pem
#plugins.security.allow_unsafe_democertificates: true
#plugins.security.allow_default_init_securityindex: true
#plugins.security.authcz.admin_dn: ['CN=kirk,OU=client,O=client,L=test,C=de']
#plugins.security.audit.type: internal_opensearch
#plugins.security.enable_snapshot_restore_privilege: true
#plugins.security.check_snapshot_restore_write_privileges: true
#plugins.security.restapi.roles_enabled: [all_access, security_rest_api_access]
#plugins.security.system_indices.enabled: true
#plugins.security.system_indices.indices: [.plugins-ml-config, .plugins-ml-connector,
# .plugins-ml-model-group, .plugins-ml-model, .plugins-ml-task, .plugins-ml-conversation-meta,
# .plugins-ml-conversation-interactions, .plugins-ml-memory-meta, .plugins-ml-memory-message,
# .opendistro-alerting-config, .opendistro-alerting-alert*, .opendistro-anomaly-results*,
# .opendistro-anomaly-detector*, .opendistro-anomaly-checkpoints, .opendistro-anomaly-detection-state,
# .opendistro-reports-*, .opensearch-notifications-*, .opensearch-notebooks, .opensearch-observability,
# .ql-datasources, .opendistro-asynchronous-search-response*, .replication-metadata-store,
# .opensearch-knn-models, .geospatial-ip2geo-data*, .plugins-flow-framework-config,
# .plugins-flow-framework-templates, .plugins-flow-framework-state]
#node.max_local_storage_nodes: 3
######## Конец конфигурации демонстрации безопасности OpenSearch ########Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Далее создайте каталог для хранения сертификатов внутри каталога /etc/opensearch.
$ sudo mkdir /etc/opensearch/certsИзмените разрешения каталога на текущего вошедшего пользователя, чтобы избежать использования sudo при генерации сертификатов.
$ sudo chown $USER:$USER /etc/opensearch/certs -RПерейдите в каталог сертификатов.
$ cd /etc/opensearch/certsГенерация корневых сертификатов
Сгенерируйте закрытый ключ для корневого сертификата.
$ openssl genrsa -out root-ca-key.pem 2048Сгенерируйте самоподписанный корневой сертификат CA. Мы используем параметр -subj, чтобы предоставить информацию, которая встраивается в сертификат. Если вы не используете флаг -subj, вам будет предложено ввести всю эту информацию.
$ openssl req -new -x509 -sha256 -key root-ca-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ROOT" -out root-ca.pem -days 730Вы можете изменить информацию в соответствии с вашим конкретным хостом.
Переменные в параметре -subj означают следующее.
C = Название страны (2-буквенный код), ST = Название штата или провинции (полное название), L = Название местности (например, город), O = Название организации, OU = Название организационного подразделения (например, отдел), CN = Общее имя (например, FQDN сервера)
Ваш корневой сертификат теперь активен.
Генерация сертификатов администратора
Сгенерируйте закрытый ключ для сертификата администратора, используя следующую команду.
$ openssl genrsa -out admin-key-temp.pem 2048Преобразуйте закрытый ключ в формат PKCS#8 для использования в Java, используя совместимый с PKCS#12 алгоритм (3DES).
$ openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pemСгенерируйте CSR (запрос на подпись сертификата) администратора из закрытого ключа. Поскольку этот сертификат не привязан к каким-либо хостам и используется для аутентификации повышенного доступа, мы используем значение A для общего имени (CN).
$ openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csrПодпишите CSR администратора с помощью корневого сертификата и закрытого ключа, которые вы только что создали.
$ openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730
Сертификат запроса самоподписан
subject=C = CA, ST = ONTARIO, L = TORONTO, O = ORG, OU = UNIT, CN = AГенерация сертификатов узлов
Сгенерируйте закрытый ключ для сертификата узла.
$ openssl genrsa -out node1-key-temp.pem 2048Преобразуйте закрытый ключ узла в формат PKCS#8.
$ openssl pkcs8 -inform PEM -outform PEM -in node1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node1-key.pemСоздайте новый CSR для сертификата узла из закрытого ключа. Убедитесь, что вы изменили значение переменной CN на имя хоста вашего узла. Этот сертификат привязан к вашим хостам, и он должен соответствовать имени хоста или IP-адресу узла.
$ openssl req -new -key node1-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=opensearch.example.com" -out node1.csrСоздайте файл расширения SAN (Subject Alternative Name), который содержит имя хоста узла или FQDN или IP-адрес.
$ sh -c 'echo subjectAltName=DNS:opensearch.example.com > node1.ext'Подпишите CSR сертификата узла с помощью корневого сертификата и закрытого ключа, которые вы только что создали.
$ openssl x509 -req -in node1.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node1.pem -days 730 -extfile node1.ext
Сертификат запроса самоподписан
subject=C = CA, ST = ONTARIO, L = TORONTO, O = ORG, OU = UNIT, CN = opensearch.example.comПодготовка сертификатов для установки
Удалите любые временные сертификаты, CSR и файл расширения SAN.
$ rm -f *temp.pem *csr *extДалее мы установим корневой сертификат CA на сервер. Для этого преобразуйте корневой сертификат CA в формат .crt.
$ openssl x509 -outform der -in root-ca.pem -out root-ca.crtСкопируйте файл root-ca.crt в каталог /usr/local/share/ca-certificates/.
$ sudo cp root-ca.crt /usr/local/share/ca-certificates/Добавьте корневой сертификат CA на ваш сервер Debian, используя следующую команду.
$ sudo update-ca-certificatesВы должны увидеть следующий вывод ( 1 добавлено), подтверждающий, что корневой сертификат CA добавлен в вашу систему.
Обновление сертификатов в /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
rehash: warning: skipping root-ca.pem,it does not contain exactly one certificate or CRL
1 added, 0 removed; done.
Запуск хуков в /etc/ca-certificates/update.d...
done.Измените владельца каталога обратно на пользователя opensearch.
$ sudo chown opensearch:opensearch /etc/opensearch/certs -RИзмените разрешения на каталог на 0700.
$ sudo chmod 0700 /etc/opensearch/certsИзмените разрешения на сертификаты на 0600.
$ sudo chmod 0600 /etc/opensearch/certs/{admin-key,admin,node1-key,node1,root-ca-key,root-ca}.pem
$ sudo chmod 0600 /etc/opensearch/certs/root-ca.crtШаг 7 - Установка TLS в OpenSearch
Теперь, когда все сертификаты сгенерированы и настроены, пришло время установить и добавить сертификаты в вашу установку OpenSearch.
Первый шаг — создать bash-скрипт, который добавит все созданные сертификаты и настройки плагина безопасности TLS в файл конфигурации OpenSearch (/etc/opensearch/opensearch.yml).
Создайте файл с именем add-opensearch-tls.sh и откройте его для редактирования.
$ cd ~
$ nano add-opensearch-tls.shВставьте в него следующий код.
#! /bin/bash
# Перед запуском этого скрипта убедитесь, что вы заменили CN в
# отличительном имени узла на реальную DNS A запись.
echo "plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/node1.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/node1-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.enabled: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/node1.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/node1-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.allow_default_init_securityindex: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.authcz.admin_dn:" | sudo tee -a /etc/opensearch/opensearch.yml
echo " - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.nodes_dn:" | sudo tee -a /etc/opensearch/opensearch.yml
echo " - 'CN=opensearch.example.com,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.audit.type: internal_opensearch" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.enable_snapshot_restore_privilege: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.check_snapshot_restore_write_privileges: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.restapi.roles_enabled: [\"all_access\", \"security_rest_api_access\"]" | sudo tee -a /etc/opensearch/opensearch.ymlСохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Сделайте файл исполняемым.
$ chmod +x add-opensearch-tls.shЗапустите скрипт.
$ ./add-opensearch-tls.shВы должны получить следующий вывод.
plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/node1.pem
plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/node1-key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/node1.pem
plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/node1-key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem
plugins.security.allow_default_init_securityindex: true
plugins.security.authcz.admin_dn:
- 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'
plugins.security.nodes_dn:
- 'CN=opensearch.example.com,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'
plugins.security.audit.type: internal_opensearch
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.check_snapshot_restore_write_privileges: true
plugins.security.restapi.roles_enabled: ["all_access", "security_rest_api_access"]Откройте файл /etc/opensearch/opensearch.yml, чтобы проверить, были ли применены ваши настройки.
$ sudo nano /etc/opensearch/opensearch.ymlПрокрутите вниз до конца файла, и вы должны увидеть следующее.
# Если вы ранее отключили плагин безопасности в opensearch.yml,
# обязательно включите его снова. В противном случае вы можете пропустить эту настройку.
plugins.security.disabled: false
....
plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/node1.pem
plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/node1-key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/node1.pem
plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/node1-key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem
plugins.security.allow_default_init_securityindex: true
plugins.security.authcz.admin_dn:
- 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'
plugins.security.nodes_dn:
- 'CN=opensearch.example.com,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'
plugins.security.audit.type: internal_opensearch
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.check_snapshot_restore_write_privileges: true
plugins.security.restapi.roles_enabled: ["all_access", "security_rest_api_access"]Когда вы будете удовлетворены, сохраните файл, нажав Ctrl + X.
Шаг 8 - Создание пользователя OpenSearch
На этом этапе мы удалим всех демонстрационных пользователей, кроме пользователя admin, и заменим пароль по умолчанию для admin, используя скрипт.
Перейдите в каталог инструментов плагинов безопасности OpenSearch.
$ cd /usr/share/opensearch/plugins/opensearch-security/toolsЗапустите скрипт hash.sh, чтобы сгенерировать новый пароль.
$ ./hashСкрипт завершится с ошибкой, и вы получите следующее сообщение об ошибке, потому что путь к исполняемому файлу Java (JDK) не был определен.
************************************************************************
Этот инструмент будет устаревать в следующем крупном релизе OpenSearch
https://github.com/opensearch-project/security/issues/1755
**********************************************************************
ПРЕДУПРЕЖДЕНИЕ: ни OPENSEARCH_JAVA_HOME, ни JAVA_HOME не установлены, будет использоваться
./hash.sh: line 35: java: command not foundЗапустите команду снова, объявив переменную окружения OPENSEARCH_JAVA_HOME с местоположением JDK.
$ OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.shВы получите аналогичный вывод.
********************************************************************** Этот инструмент будет устаревать в следующем крупном релизе OpenSearch https://github.com/opensearch-project/security/issues/1755 ********************************************************************** [Пароль:] $2y$12$4NL0LqEnN4FXaUdQQC.gOupeCQT2IuMo9gN0b5d3nxdMVbLX088f2
Он сгенерирует хеш пароля, который нам понадобится позже.
Откройте файл конфигурации пользователей OpenSearch internal_users.yml в каталоге /etc/opensearch/opensearch-security/ для редактирования.
$ sudo nano /etc/opensearch/opensearch-security/internal_users.ymlЗакомментируйте всех демонстрационных пользователей, добавив хеш перед ними, как показано.
---
# Это внутренняя база данных пользователей
# Хеш-значение — это хеш bcrypt и может быть сгенерировано с помощью plugin/tools/hash.sh
_meta:
type: "internalusers"
config_version: 2
# Определите своих внутренних пользователей здесь
## Демонстрационные пользователи
#admin:
# hash: "$2y$12$Twy84uxOX0SQ1QMQ68og8O/i1MvqWItt/phZX3DiJMjpBoT9u9KX6"
# reserved: true
# backend_roles:
# - "admin"
# description: "Демонстрационный пользователь администратор"
#anomalyadmin:Добавьте пользователя администратора с хешем, который вы сгенерировали выше, как показано.
---
# Это внутренняя база данных пользователей
# Хеш-значение — это хеш bcrypt и может быть сгенерировано с помощью plugin/tools/hash.sh
_meta:
type: "internalusers"
config_version: 2
# Определите своих внутренних пользователей здесь
admin:
hash: "$2y$12$4NL0LqEnN4FXaUdQQC.gOupeCQT2IuMo9gN0b5d3nxdMVbLX088f2"
reserved: true
backend_roles:
- "admin"
description: "Пользователь администратор"
## Демонстрационные пользователи
#admin:После завершения сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Теперь, когда сертификаты TLS установлены, а демонстрационные пользователи удалены или назначены новые пароли, пришло время применить изменения конфигурации. Чтобы применить изменения, мы вызовем скрипт securityadmin.sh в каталоге /usr/share/opensearch/plugins/opensearch-security/tools. Скрипт требует, чтобы служба OpenSearch работала.
Перезапустите службу OpenSearch.
$ sudo systemctl restart opensearchПерейдите в каталог /usr/share/opensearch/plugins/opensearch-security/tools.
$ cd /usr/share/opensearch/plugins/opensearch-security/toolsЗапустите скрипт, используя следующую команду.
$ sudo OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./securityadmin.sh -h opensearch.nspeaks.com -p 9200 -cd /etc/opensearch/opensearch-security/ -cacert /etc/opensearch/certs/root-ca.pem -cert /etc/opensearch/certs/admin.pem -key /etc/opensearch/certs/admin-key.pem -icl -nhnvПлагин безопасности хранит свою конфигурацию — включая пользователей, разрешения, роли и настройки бэкенда — в системном индексе кластера OpenSearch. Хранение этих настроек в кластере позволяет вам изменять настройки без перезагрузки кластера и устраняет необходимость редактирования файла конфигурации на каждом узле. Это достигается путем выполнения скрипта securityadmin.sh.
- Опция
-cdуказывает, где находятся файлы конфигурации плагина безопасности. - Опция
-icl(--ignore-clustername) говорит плагину безопасности загружать конфигурацию независимо от имени кластера. Вы также можете указать имя кластера вместо использования опции-cn(--clustername). - Поскольку сертификаты самоподписаны, мы используем опцию
-nhnv(--disable-host-name-verification). - Опции
--cacert,--certи--keyопределяют местоположение корневого сертификата, сертификата администратора и закрытого ключа для сертификата администратора. Если закрытый ключ имеет пароль, вы можете определить его, используя опцию-keypass.
Вы можете узнать больше о конфигурации плагина безопасности в документации OpenSearch.
Вы должны получить аналогичный вывод, как показано ниже, с помощью вышеуказанной команды.
********************************************************************** Этот инструмент будет устаревать в следующем крупном релизе OpenSearch https://github.com/opensearch-project/security/issues/1755 ************************************************************************ Security Admin v7 Подключение к opensearch:9200 ... готово Подключено как "CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA" Версия OpenSearch: 2.12.0 Связываемся с кластером OpenSearch 'opensearch' и ждем состояния кластера YELLOW ... Имя кластера: opensearch Состояние кластера: GREEN Количество узлов: 1 Количество узлов данных: 1 .index.opendistro_security уже существует, поэтому нам не нужно его создавать. Заполнение конфигурации из /etc/opensearch/opensearch-security/ Обновим '/config' с /etc/opensearch/opensearch-security/config.yml УСПЕШНО: Конфигурация для 'config' создана или обновлена Обновим '/roles' с /etc/opensearch/opensearch-security/roles.yml УСПЕШНО: Конфигурация для 'roles' создана или обновлена Обновим '/rolesmapping' с /etc/opensearch/opensearch-security/roles_mapping.yml УСПЕШНО: Конфигурация для 'rolesmapping' создана или обновлена Обновим '/internalusers' с /etc/opensearch/opensearch-security/internal_users.yml УСПЕШНО: Конфигурация для 'internalusers' создана или обновлена Обновим '/actiongroups' с /etc/opensearch/opensearch-security/action_groups.yml УСПЕШНО: Конфигурация для 'actiongroups' создана или обновлена Обновим '/tenants' с /etc/opensearch/opensearch-security/tenants.yml УСПЕШНО: Конфигурация для 'tenants' создана или обновлена Обновим '/nodesdn' с /etc/opensearch/opensearch-security/nodes_dn.yml УСПЕШНО: Конфигурация для 'nodesdn' создана или обновлена Обновим '/whitelist' с /etc/opensearch/opensearch-security/whitelist.yml УСПЕШНО: Конфигурация для 'whitelist' создана или обновлена Обновим '/audit' с /etc/opensearch/opensearch-security/audit.yml УСПЕШНО: Конфигурация для 'audit' создана или обновлена Обновим '/allowlist' с /etc/opensearch/opensearch-security/allowlist.yml УСПЕШНО: Конфигурация для 'allowlist' создана или обновлена УСПЕШНО: Ожидалось 10 типов конфигурации для узла {"updated_config_types":["allowlist","tenants","rolesmapping","nodesdn","audit","roles","whitelist","internalusers","actiongroups","config"],"updated_config_size":10,"message":null} равно 10 (["allowlist","tenants","rolesmapping","nodesdn","audit","roles","whitelist","internalusers","actiongroups","config"]) из-за: null Завершено успешно
Проверьте новые учетные данные, используя следующую команду.
Во время предыдущего теста мы направляли запросы на localhost. Теперь, когда сертификаты TLS настроены, а новые сертификаты ссылаются на фактическую DNS-запись хоста, запросы к localhost завершатся неудачей из-за проверки CN, и сертификат будет считаться недействительным. Поэтому добавьте вашу фактическую DNS-запись в команду ниже для проверки.
$ curl https://your.host.address:9200 -u admin:yournewpassword -kВы должны увидеть следующий ответ.
{
"name" : "opensearch",
"cluster_name" : "opensearch",
"cluster_uuid" : "3oFvYn96St2MOpDP3Sf29g",
"version" : {
"distribution" : "opensearch",
"number" : "2.12.0",
"build_type" : "deb",
"build_hash" : "2c355ce1a427e4a528778d4054436b5c4b756221",
"build_date" : "2024-02-20T02:18:31.541484890Z",
"build_snapshot" : false,
"lucene_version" : "9.9.2",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}Шаг 9 - Установка OpenSearch Dashboards
Поскольку мы уже установили OpenSearch, мы можем пропустить шаг импорта GPG-ключа OpenSearch.
Чтобы установить OpenSearch Dashboards, выполните следующую команду, чтобы создать репозиторий APT для него.
$ echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-dashboards-2.x.listОбновите список репозиториев системы.
$ sudo apt updateПеречислите все доступные версии OpenSearch Dashboards.
$ sudo apt list -a opensearch-dashboardsВы должны увидеть аналогичный вывод.
Listing... Done
opensearch-dashboards/stable 2.12.0 amd64
opensearch-dashboards/stable 2.11.1 amd64
opensearch-dashboards/stable 2.11.0 amd64
opensearch-dashboards/stable 2.10.0 amd64
opensearch-dashboards/stable 2.9.0 amd64
opensearch-dashboards/stable 2.8.0 amd64
opensearch-dashboards/stable 2.7.0 amd64
opensearch-dashboards/stable 2.6.0 amd64
opensearch-dashboards/stable 2.5.0 amd64Установите последнюю версию OpenSearch Dashboard.
$ sudo apt install opensearch-dashboardsИли установите конкретную версию OpenSearch Dashboard.
$ sudo apt install opensearch-dashboards=2.12.0Версия OpenSearch Dashboards и OpenSearch должна быть одинаковой, иначе вы можете столкнуться с множеством проблем.
Перезагрузите демон службы.
$ sudo systemctl daemon-reloadВключите службу OpenSearch Dashboards.
$ sudo systemctl enable opensearch-dashboardsЗапустите службу OpenSearch Dashboards.
$ sudo systemctl start opensearch-dashboardsПроверьте статус службы OpenSearch Dashboards.
$ sudo systemctl status opensearch-dashboardsВы должны увидеть следующий вывод.
? opensearch-dashboards.service - "OpenSearch Dashboards"
Loaded: loaded (/lib/systemd/system/opensearch-dashboards.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-03-02 16:01:25 UTC; 4s ago
Main PID: 7098 (node)
Tasks: 11 (limit: 9484)
Memory: 175.4M
CPU: 5.389s
CGroup: /system.slice/opensearch-dashboards.service
??7098 /usr/share/opensearch-dashboards/node/bin/node /usr/share/opensearch-dashboards/src/cli/dist
Mar 02 16:01:25 opensearch systemd[1]: Started opensearch-dashboards.service - "OpenSearch Dashboards".Шаг 10 - Настройка OpenSearch Dashboards
OpenSearch Dashboards хранит свою конфигурацию в файле /etc/opensearch-dashboards/opensearch_dashboards.yml. Откройте его для редактирования.
$ sudo nano /etc/opensearch-dashboards/opensearch_dashboards.ymlНайдите строку # server.host: "localhost" и раскомментируйте ее, удалив хеш перед ней и изменив ее значение, как показано.
# Указывает адрес, к которому сервер OpenSearch Dashboards будет привязан. IP-адреса и имена хостов являются допустимыми значениями.
# Значение по умолчанию — 'localhost', что обычно означает, что удаленные машины не смогут подключиться.
# Чтобы разрешить подключения от удаленных пользователей, установите этот параметр на адрес, отличный от локального.
server.host: 0.0.0.0Установка значения server.host на 0.0.0.0 привязывает OpenSearch Dashboard к любому внешнему IP, что делает его доступным через Всемирную паутину. Если вы хотите обслуживать Dashboards через SSL с помощью обратного прокси, оставьте это значение без изменений.
Прокрутите вниз, чтобы найти следующий раздел.
opensearch.hosts: [https://localhost:9200]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanaserver
opensearch.requestHeadersWhitelist: [authorization, securitytenant]Измените значения в соответствии с нашей установкой OpenSearch.
opensearch.hosts: [https://opensearch:9200]
opensearch.ssl.verificationMode: none
opensearch.username: admin
opensearch.password:
opensearch.requestHeadersWhitelist: [authorization, securitytenant] После завершения сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Перезапустите службу OpenDashboards.
$ sudo systemctl restart opensearch-dashboardsОткройте порт 5601 в брандмауэре UFW.
$ sudo ufw allow 5601Откройте URL http:// или http://opensearch.example.com:5601, чтобы запустить веб-сайт OpenSearch Dashboards.

Если вам удобно получать доступ к OpenSearch Dashboards через HTTP и с номером порта в URL, вы можете остановиться здесь. Однако лучше обслуживать Dashboards через SSL. Для этого мы установим Nginx в качестве обратного прокси и обслужим SSL через него.
Шаг 11 - Установка Nginx
Debian 12 поставляется со старой версией Nginx. Вам нужно загрузить официальный репозиторий Nginx, чтобы установить последнюю версию.
Импортируйте ключ подписи Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/nullДобавьте репозиторий для основной версии Nginx.
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.listОбновите системные репозитории.
$ sudo apt updateУстановите Nginx.
$ sudo apt install nginxПроверьте установку. На системах Debian следующая команда будет работать только с sudo.
$ sudo nginx -v
nginx version: nginx/1.25.4Запустите сервер Nginx.
$ sudo systemctl start nginxПроверьте статус службы.
$ sudo systemctl status nginx
? nginx.service - nginx - высокопроизводительный веб-сервер
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-03-02 12:53:57 UTC; 4s ago
Docs: https://nginx.org/en/docs/
Process: 3976 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 3977 (nginx)
Tasks: 3 (limit: 9484)
Memory: 2.7M
CPU: 9ms
CGroup: /system.slice/nginx.service
??3977 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
??3978 "nginx: worker process"
??3979 "nginx: worker process"
Mar 02 12:53:57 opensearch systemd[1]: Starting nginx.service - nginx - высокопроизводительный веб-сервер...
Mar 02 12:53:57 opensearch systemd[1]: Started nginx.service - nginx - высокопроизводительный веб-сервер.Шаг 12 - Установка SSL
Нам нужно установить Certbot, чтобы сгенерировать SSL-сертификат. Вы можете установить Certbot, используя репозиторий Debian, или загрузить последнюю версию с помощью инструмента Snapd. Мы будем использовать версию Snapd.
Debian 12 не поставляется с установленным Snapd. Установите пакет Snapd.
$ sudo apt install snapdВыполните следующие команды, чтобы убедиться, что ваша версия Snapd актуальна.
$ sudo snap install core && sudo snap refresh coreУстановите Certbot.
$ sudo snap install --classic certbotИспользуйте следующую команду, чтобы убедиться, что команда Certbot может быть выполнена, создав символическую ссылку в каталоге /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbotПроверьте, работает ли Certbot правильно.
$ certbot --version
certbot 2.9.0Выполните следующую команду, чтобы сгенерировать SSL-сертификат.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d craftcms.example.comВышеуказанная команда загрузит сертификат в каталог /etc/letsencrypt/live/craftcms.example.com на вашем сервере.
Сгенерируйте сертификат группы Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096Проверьте службу планировщика обновления Certbot.
$ sudo systemctl list-timersВы найдете snap.certbot.renew.service как одну из запланированных служб.
NEXT LEFT LAST PASSED UNIT ACTIVATES ---------------------------------------------------------------------------------------------------------------------------------------
Sat 2024-03-02 16:25:00 UTC 3h 27min left - - snap.certbot.renew.timer snap.certbot.renew.service
Sat 2024-03-02 23:00:51 UTC 10h left Sat 2024-03-02 06:29:02 UTC 6h ago apt-daily.timer apt-daily.service
Sun 2024-03-03 00:00:00 UTC 11h left - - dpkg-db-backup.timer dpkg-db-backup.service
.....Выполните пробный запуск процесса, чтобы проверить, работает ли обновление SSL правильно.
$ sudo certbot renew --dry-runЕсли вы не видите ошибок, вы готовы. Ваш сертификат будет автоматически обновляться.
Шаг 13 - Настройка Nginx
Откройте файл /etc/nginx/nginx.conf для редактирования.
$ sudo nano /etc/nginx/nginx.confДобавьте следующую строку перед строкой include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Создайте и откройте файл /etc/nginx/conf.d/opensearch.conf для редактирования.
$ sudo nano /etc/nginx/conf.d/opensearch.confВставьте в него следующий код. Замените opensearch.example.com на ваше доменное имя.
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
http3 on;
quic_retry on;
server_name opensearch.example.com;
access_log /var/log/nginx/opensearch.access.log;
error_log /var/log/nginx/opensearch.error.log;
ssl_certificate /etc/letsencrypt/live/opensearch.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/opensearch.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/opensearch.example.com/chain.pem;
ssl_session_timeout 5m;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_early_data on;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
location / {
proxy_pass http://localhost:5601;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# принудительный HTTPS
server {
listen 80;
listen [::]:80;
server_name opensearch.example.com;
return 301 https://$host$request_uri;
}Сохраните файл, нажав Ctrl + X и введя Y, когда будет предложено.
Проверьте вашу конфигурацию Nginx.
$ sudo nginx -tПерезапустите сервер Nginx.
$ sudo systemctl restart nginxПосетите https://opensearch.example.com в вашем браузере, чтобы запустить OpenSearch Dashboards.
Шаг 14 - Доступ и использование OpenSearch Dashboards
Если вы использовали Nginx, то получите доступ к Dashboards через URL https://opensearch.example.com или используйте http://opensearch.example.com:5601, и вы должны увидеть страницу входа.

Введите admin и пользовательский пароль администратора, который вы настроили для OpenSearch на шаге 4, и нажмите кнопку Войти, чтобы продолжить.

Нажмите кнопку Добавить данные, чтобы начать добавление данных напрямую, или нажмите ссылку Изучить самостоятельно, если хотите сначала просмотреть. Мы сначала просмотрим, и это должно привести вас к всплывающему окну, которое говорит о темном режиме OpenSearch Dashboards.

Нажмите кнопку Закрыть, чтобы продолжить. Далее вам будет предложено выбрать арендатора.

Арендаторы в OpenSearch Dashboards — это пространства для сохранения шаблонов индексов, визуализаций, панелей и других объектов OpenSearch Dashboards. Каждый пользователь может создавать несколько арендаторов для различных целей. Арендаторы полезны для безопасного обмена вашей работой с другими пользователями OpenSearch Dashboards. OpenSearch дает вам возможность выбирать между тремя вариантами.
- Глобальный - Этот арендатор общий для всех пользователей OpenSearch Dashboards.
- Частный - Этот арендатор эксклюзивен для каждого пользователя и не может быть разделен.
- Пользовательский - Администраторы могут создавать пользовательские арендаторы и назначать их конкретным ролям. После создания вы можете использовать эти арендаторы, чтобы предоставить пространства для конкретного набора пользователей.
На данный момент мы останемся с вариантом по умолчанию — частным арендатором. Нажмите кнопку Подтвердить, чтобы продолжить. Вы увидите следующую страницу.

Далее мы проверим связь между OpenSearch и OpenSearch Dashboards.
Нажмите кнопку Инструменты разработчика в правом верхнем углу, и вам будет показано мини-всплывающее окно о консольном интерфейсе для OpenSearch Dashboards.

Нажмите кнопку Закрыть, введите запрос GET / в консоли слева и нажмите маленькую кнопку воспроизведения посередине. Вы должны увидеть следующий вывод справа.

Это подтверждает, что OpenSearch Dashboards получает данные от OpenSearch, и оба работают нормально. Вы можете начать добавлять данные с этого момента.
Заключение
Это завершает учебник по установке OpenSearch на сервер Debian 12. Если у вас есть какие-либо вопросы, оставьте их в комментариях ниже.
Get new posts in your inbox
No spam. Unsubscribe anytime.