Перейти к основному содержимому

OpenSearch

Последнее изменение:

Opensearch — поисковая и аналитическая система с открытым исходным кодом. Облачный сервер с Opensearch представляет из себя коллектор и визуализатор логов облачной платформы Selectel.

Для облачного сервера можно настроить автоматическое создание бэкапов по расписанию. Из бэкапа можно восстановить диск сервера.

Можно создать облачный сервер с готовым приложением Opensearch.

Создать облачный сервер с OpenSearch

Для работы OpenSearch облачный сервер должен быть доступен из интернета. Для этого нужно создать приватную подсеть и подключить публичный IP-адрес — это можно сделать при создании сервера.

Для настройки OpenSearch при создании сервера нужно указать user data — пользовательские параметры конфигурации операционной системы. Вы можете задать два набора переменных:

  • для доступа к OpenSearch Dashboard по домену;
  • для доступа к OpenSearch Dashboard по IP-адресу.

При создании облачного сервера с OpenSearch будет автоматически выпущен бесплатный TLS-сертификат от Let’s Encrypt® для домена, который вы укажете. Для выпуска сертификата нужно добавить A-запись для домена и указать в значении записи публичный IP-адрес сервера. Домен можно добавить в DNS-хостинг Selectel (actual).

  1. Опционально: создайте публичный IP-адрес.
  2. Опционально: добавьте A-запись для домена.
  3. Создайте сервисного пользователя.
  4. Выдайте S3-ключ сервисному пользователю.
  5. Создайте облачный сервер с OpenSearch.

1. Опционально: создать публичный IP-адрес

Создайте публичный IP-адрес, если вам нужен доступ к веб-интерфейсу OpenSearch Dashboard по домену. Пропустите этот шаг, если доступ к дашборду будет только по IP-адресу.

Используйте подраздел Создать публичный IP-адрес инструкции Публичные IP-адрес.

2. Опционально: добавить А-запись для домена

Добавьте А-запись, если вам нужен доступ к веб-интерфейсу OpenSearch Dashboard по домену. Пропустите этот шаг, если доступ к дашборду будет только по IP-адресу.

Используйте инструкцию Добавить ресурсную запись.

Выберите тип ресурсных записей в группе — A. В значении записи укажите публичный IP-адрес, который вы создали раннее.

3. Создать сервисного пользователя

Создайте сервисного пользователя с ролью Администратор проекта или Наблюдатель проекта. Создавать пользователей могут пользователи с ролью Владелец аккаунта или Администратор пользователей.

4. Выдать S3-ключ сервисному пользователю

Пользователи панели управления могут выдавать себе S3-ключи самостоятельно, но мы рекомендуем создавать сервисных пользователей и использовать ключи совместно с ними.

Выдавать S3-ключи другим пользователям может только Владелец аккаунта или Администратор пользователей. Сервисный пользователь не может получить S3-ключ самостоятельно, потому что у него нет доступа в панель управления — ему должен выдать ключ Владелец аккаунта или Администратор пользователей.

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

  1. В панели управления в верхнем меню нажмите Аккаунт.

  2. Перейдите в раздел с нужным типом пользователей:

    • Пользователи — для пользователей панели управления;
    • Сервисные пользователи — для сервисных пользователей.
  3. Откройте страницу пользователя → вкладка Доступ .

  4. В блоке S3-ключи нажмите Добавить ключ.

  5. Введите имя ключа.

  6. Выберите проект, для которого будет работать ключ.

  7. Нажмите Сгенерировать. Будет сгенерировано два значения:

    • Access key — Access Key ID, идентификатор ключа;
    • Secret key — Secret Access Key, секретный ключ.
  8. Нажмите Скопировать и сохраните ключ — после закрытия окна его нельзя будет просмотреть.

5. Создать облачный сервер с OpenSearch

  1. В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.

  2. Нажмите Создать сервер.

  3. В блоке Имя и расположение:

    3.1. В поле Имя введите имя сервера. Оно будет установлено как имя хоста в операционной системе.

    3.2. В полях Регион и Пул выберите регион и сегмент пула, в котором будет создан сервер. От сегмента пула зависит список доступных конфигураций сервера и стоимость ресурсов. После создания сервера изменить сегмент пула нельзя.

  4. В блоке Источник выберите источник, из которого будет создан сервер.

    Нажмите на имя источника по умолчанию, откройте вкладку Приложения, выберите Cloud Opensearch <version> 64-bit и нажмите Выбрать.

  5. В блоке Конфигурация выберите конфигурацию сервера от 2 vCPU, RAM от 2 ГБ и размером загрузочного диска от 20 ГБ. Можно выбрать:

    • фиксированную конфигурацию — линейки, в которых зафиксировано соотношение ресурсов;
    • или произвольную конфигурацию, в которой можно указать любое соотношение ресурсов.

    В конфигурациях используются разные процессоры в зависимости от линейки и сегмента пула.

    5.1. Чтобы выбрать фиксированную конфигурацию, нажмите Фиксированная, откройте вкладку с нужной линейкой и выберите конфигурацию.

    5.2. Чтобы выбрать произвольную конфигурацию, нажмите Произвольная, укажите количество vCPU и размер RAM.

    5.3. Чтобы в качестве загрузочного диска сервера выбрать локальный диск, отметьте чекбокс Локальный SSD NVMe диск. Чтобы в качестве загрузочного диска выбрать сетевой диск, не отмечайте чекбокс.

    Объем оперативной памяти, который выделяется серверу, может быть меньше указанного в конфигурации — ядро операционной системы резервирует часть оперативной памяти в зависимости от версии ядра и дистрибутива. Выделенный объем на сервере можно проверить с помощью команды sudo dmesg | grep Memory.

    После создания сервера можно изменить конфигурацию.

  6. Если вы не отметили чекбокс Локальный SSD NVMe диск на шаге 5.3., в качестве загрузочного диска сервера будет использоваться первый указанный сетевой диск. В блоке Диски:

    6.1. В поле Тип диска выберите тип сетевого загрузочного диска.

    6.2. Укажите размер сетевого загрузочного диска в ГБ или ТБ. Учитывайте лимиты сетевых дисков на максимальный размер.

  7. Опционально: добавьте дополнительные сетевые диски сервера. В блоке Диски:

    7.1. В поле Тип диска выберите тип сетевого диска.

    7.2. Укажите размер сетевого диска в ГБ или ТБ. Учитывайте лимиты сетевых дисков на максимальный размер.

    7.3. Чтобы добавить другой дополнительный диск, нажмите Добавить, выберите тип диска и укажите его размер.

    После создания сервера можно отключить от него дополнительные диски или подключить новые.

  8. В блоке Сеть подключите существующую приватную подсеть с облачным роутером или создайте новую:

    8.1. Нажмите Приватная подсеть.

    8.2. В поле Публичный IP-адрес для доступа из интернета выберите публичный IP-адрес, который вы создали раннее.

    8.3. Разверните блок с настройками приватной подсети.

    8.4. В поле Подсеть выберите существующую подсеть.

    8.5. В поле Приватный IP укажите приватный IP-адрес сервера. Публичный IP-адрес будет автоматически подключен к приватному адресу.

  9. Выберите группы безопасности для фильтрации трафика на портах сервера. Без групп безопасности трафик будет запрещен. Если блок отсутствует, в сети сервера выключена фильтрация трафика (port security). С выключенной фильтрацией трафика весь трафик будет разрешен.

  10. В блоке Доступ:

    10.1. Разместите на сервере SSH-ключ для безопасного подключения. Чтобы добавить в облачную платформу новый SSH-ключ, нажмите Добавить SSH-ключ, введите имя ключа, вставьте публичный SSH-ключ в формате OpenSSH и нажмите Добавить. Если SSH-ключ добавлен в облачную платформу, в поле SSH-ключ выберите существующий ключ.

    10.2. Опционально: в поле Пароль для «root» скопируйте пароль пользователя root (пользователь с неограниченными правами на все действия над системой). Сохраните пароль в безопасном месте и не передавайте в открытом виде.

  11. В блоке Дополнительные настройки:

    11.1. Опционально: если вы планируете создать несколько серверов и хотите повысить отказоустойчивость инфраструктуры, добавьте сервер в группу размещения. Чтобы создать новую группу, нажмите Создать группу, введите имя группы и выберите политику размещения на разных хостах:

    • желательно — soft-anti-affinity. Система постарается разместить серверы на разных хостах. Если при создании сервера не будет подходящего хоста, он будет создан на том же хосте;
    • обязательно — anti-affinity. Серверы в группе обязательно располагаются на разных хостах. Если при создании сервера не будет подходящего хоста, сервер не будет создан.

    Если группа создана, в поле Группа размещения выберите группу размещения.

    11.2. Опционально: добавьте теги сервера, чтобы добавить дополнительную информацию или фильтровать серверы в списке. Автоматически добавляются теги операционной системы и конфигурации. Чтобы добавить новый тег, в поле Теги введите тег.

  12. В блоке Автоматизация в поле User data вставьте скрипт, который выполнится при загрузке системы:

    Веб-интерфейс OpenSearch Dashbord будет доступен через домен. Убедитесь, что вы создали публичный IP-адрес и добавили A-запись для домена.

    #cloud-config

    write_files:
    - path: "/opt/gomplate/values/user-values.yml"
    permissions: "0644"
    content: |
    opensearchDomain: '<opensearch_domain>'
    AdminEmail: '<user_email>'
    opensearchAdminUser: '<username>'
    opensearchAdminPassword: '<user_password>'
    AWS_ACCESS_KEY_ID: '<access_key>'
    AWS_SECRET_ACCESS_KEY: '<secret_key>'
    retentionDays: <days_number>

    Укажите:

    • <opensearch_domain> — укажите домен, по которому Opensearch Dashboards с отображаемыми данными логов будет доступна из сети;
    • <user_email> — электронная почта администратора Opensearch Dashboards. Почта будет использоваться для выпуска SSL-сертификатов;
    • <username> — имя пользователя для входа в Opensearch Dashboards;
    • <user_password> — пароль пользователя для входа в Opensearch Dashboards;
    • <access_key> — ключ доступа к платформе логов;
    • <secret_key> — ключ для получения логов;
    • <days_number> — количество дней для хранения логов.
  13. Проверьте цену облачного сервера.

  14. Нажмите Создать.