Поиск и аналитика#

Общая информация#

Автоматизированная служба Elasticsearch в К2 Облаке позволяет быстро развёртывать и настраивать сервис для поиска, анализа и мониторинга всех типов данных.

Elasticsearch — это распределённая поисковая и аналитическая система, которая предоставляет унифицированное хранилище данных для решений, построенных на основе Elastic Stack: Elasticsearch, Elastic Agent, Beats, Logstash и Kibana. Более подробно познакомиться с возможностями Elasticsearch можно на официальном сайте.

Вместе с Elasticsearch в К2 Облаке можно развернуть сервис Kibana для удобства управления и визуализации данных.

В К2 Облаке поддерживаются следующие версии Elasticsearch:

  • 7.11.2;

  • 7.12.1;

  • 7.13.1;

  • 7.14.2;

  • 7.15.2;

  • 7.16.3;

  • 7.17.4;

  • 8.0.1;

  • 8.1.3.

Перед началом работы#

Чтобы начать работу с сервисом поиска и аналитики, выполните следующие действия:

  1. Создайте проект, если у вас его нет.

  2. В разделе IAM создайте пользователя, добавьте его в созданный проект и назначьте ему политику PaaSServicePolicy для предоставления необходимых привилегий для работы с сервисами PaaS.

    Примечание

    Если вы хотите, чтобы пользователь имел доступ к другим сервисам облака, то включите его в группу CloudAdministrators. В этом случае назначать ему политику PaaSServicePolicy не нужно.

  3. Убедитесь в наличии всех необходимых ресурсов в проекте — подсетей, SSH-ключей, групп безопасности. Если этих ресурсов нет, создайте их.

  4. Ознакомьтесь с рекомендациями по работе с сервисом в облаке.

Запуск сервиса Elasticsearch#

Для запуска сервиса в подразделе Витрина сервисов или Установленные сервисы выберите сервис Elasticsearch на вкладке Поиск и аналитика и нажмите Создать.

Процедура запуска сервиса состоит из следующих основных этапов:

  1. Задайте параметры сети, необходимые для работы сервиса Elasticsearch:

    • Конфигурацию кластера, в котором будет развёрнут сервис. Для выбора доступны следующие опции:

      • с одним узлом (неотказоустойчивый сервис);

      • с тремя узлами в одной зоне доступности;

      • с тремя узлами в трёх зонах доступности;

    • VPC, в котором будет развёрнут сервис.

    • Группы безопасности для регулирования трафика на интерфейсах экземпляров, где будет запущен сервис Elasticsearch.

    • Подсети, к которым будут подключены экземпляры с развёрнутым на них сервисом, либо сетевые интерфейсы, через которые узлы кластера будут подсоединяться к подсетям.

    Примечание

    Для запуска сервиса в выбранном VPC необходимо предварительно создать подсеть в предпочтительной зоне доступности (в конфигурации с одной зоной), либо по одной подсети в каждой зоне доступности (в конфигурации с тремя зонами). Кроме того, в используемых зонах доступности должны поддерживаться одинаковые типы дисков.

    Примечание

    Опция присоединения сетевых интерфейсов может быть полезна, например, когда требуется пересоздать сервис поиска и аналитики. Если при удалении сервиса не удалять присоединённые сетевые интерфейсы, то их можно использовать повторно для подключения к подсетям узлов кластера, в котором будет развёрнут новый сервис. Это позволяет сохранить прежние сетевые настройки, такие как внутренние IP-адреса и группы безопасности, и не задавать их заново.

  2. Укажите конфигурацию экземпляра или экземпляров, на которых будет запущен сервис поиска и анализа данных.

    Выберите тип экземпляра и характеристики его дисков: тип, размер и IOPS (если это доступно для данного типа).

    Примечание

    Производительность сервиса Elasticsearch чувствительна к выбору компонентов узлов. Рекомендуем использовать экземпляры с большим объёмом оперативной памяти (тип Memory Optimized).

    Кроме того, вы можете указать SSH-ключ. В этом случае после автоматической настройки сервиса экземпляры виртуальных машин будут доступны по SSH.

    Внимание

    Мы предоставляем возможность подключения к экземплярам виртуальных машин по SSH-ключу, пока новый сервис Elasticsearch находится на этапе бета-тестирования. Данная возможность в будущем может быть отключена.

    Чтобы активировать конфигурацию с кластерным арбитром, выберите опцию Использовать арбитр.

  3. Задайте основные параметры сервиса:

    • Имя сервиса — произвольное уникальное имя для сервиса.

    • Версию.

    • Опцию установки Kibana, инструмента визуализации и составления отчетов.

    • Опцию установки агентов для мониторинга — Для централизованного мониторинга сервиса поиска и аналитики необходимо предварительно развернуть сервис мониторинга на базе Prometheus.

      • Сервис мониторинга — Выбор сервиса мониторинга доступен только при выборе опции Подключить мониторинг.

      • Метки для мониторинга — Опционально можно задать метки, которые установленные агенты мониторинга будут присваивать собираемым метрикам (см. подробнее о метках). Метки можно задать только при выборе опции Подключить мониторинг.

    • Опцию установки агентов для логирования — Для централизованного логирования сервиса PaaS необходимо предварительно создать сервис логирования. После создания сервиса PaaS установить агенты логирования можно только вручную.

      • Сервис логирования — Выбор доступен только при выборе опции Подключить логирование.

      • Теги для логирования — Теги назначаются журналам при их импорте сервисом логирования. Они упрощают поиск нужных журналов. Теги можно задать только при выборе опции Подключить логирование.

    • Пароль пользователя Elasticsearch. Его можно задать вручную или сгенерировать автоматически. Если пароль задан, то для входа в Kibana необходимо пройти аутентификацию.

  4. Задайте расширенные настройки, если необходимо. Для этого нажмите расширенные настройки и введите настройки и их значения.

    Важно

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

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

    Примечание

    Процесс запуска сервиса обычно занимает от 5 до 15 минут.

Управление балансировщиками нагрузки#

Для сервиса Elasticsearch в отказоустойчивой конфигурации можно создать внутренний и/или внешний балансировщики нагрузки (подробнее о балансировщиках). Они автоматически распределяют поступающие запросы между полнофункциональными узлами кластера (арбитру, если он есть, запросы не направляются).

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

Внимание

Балансировщик нагрузки, который работает с PaaS-сервисом, можно удалить только на странице этого сервиса.

Важно

Для работы внешнего балансировщика нагрузки необходимо открыть доступ извне к портам сервиса, который по умолчанию закрыт. Для этого в группу безопасности, которая была указана при создании сервиса, необходимо добавить разрешающее правило для соответствующих портов. Порты, которые прослушивает сервис Elasticsearch , можно найти на его странице на вкладке Информация.

Создать балансировщик нагрузки#

Балансировщик нагрузки для сервиса баз данных можно создать, только когда сервис имеет статус Запущен. Для одного сервиса можно создать по одному внутреннему и внешнему балансировщику нагрузки.

Важно

Внутренний балансировщик нагрузки можно создать, только если в VPC включено распространение маршрутов.

  1. Перейдите в раздел PaaS Установленные сервисы и откройте вкладку Поиск и аналитика.

  2. Найдите в таблице сервисов нужный и нажмите на идентификатор сервиса для перехода на его страницу.

  3. Откройте вкладку Балансировщики нагрузки и нажмите Создать.

  4. В открывшемся окне выберите, какой балансировщика вы хотите создать. Если ни один ещё не был создан, то можно сразу создать и внутренний, и внешний балансировщики.

  5. Нажмите Создать для подтверждения действия.

Удалить балансировщик нагрузки#

Связанный с сервисом балансировщик нагрузки можно удалить, только когда сервис имеет статус Запущен.

  1. Перейдите в раздел PaaS Установленные сервисы и откройте вкладку Поиск и аналитика.

  2. Найдите в таблице сервисов нужный и нажмите на идентификатор сервиса для перехода на его страницу.

  3. Откройте вкладку Балансировщики нагрузки и нажмите Удалить.

  4. В открывшемся окне выберите, какой балансировщика вы хотите удалить. Если для сервиса были созданы два балансировщика нагрузки, то вы можете удалить их оба одновременно.

  5. Нажмите Удалить для подтверждения действия.

Настройка сервиса Elasticsearch#

Если вы не подключили мониторинг и/или логирование при создания сервиса поиска и аналитики, либо хотите их отключить, то это можно сделать, когда сервис находится в состоянии Готов. Вы можете также изменить расширенные настройки.

Примечание

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

Важно

Если какие-либо настройки не удастся изменить, то сервис будет возвращён к исходным.

Чтобы настроить параметры сервиса Elasticsearch:

  1. Перейдите в раздел PaaS Установленные сервисы и откройте вкладку Поиск и аналитика.

  2. Найдите в таблице сервисов нужный и нажмите на идентификатор сервиса для перехода на его страницу.

  3. Откройте вкладку Параметры и нажмите Изменить.

  4. В открывшемся окне вы можете настроить мониторинг и логирование (или отключить, если они уже включены).

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

  6. Для сохранения параметров нажмите Изменить.

Обновление окружения#

Сервисы PaaS регулярно обновляются. Если вы хотите, чтобы уже установленный сервис Elasticsearch поддерживал новые возможности, то обновите его окружение на новую версию. Текущую версию окружения можно узнать на вкладке Информация на странице сервиса.

Примечание

Обновление окружения поддерживается для всех сервисов с версией окружения 3_6 и выше. Оно также доступно для некоторых ранее установленных сервисов с версией окружения 3_5. Возможность обновления можно проверить с помощью API-метода DescribeService: в ответе на запрос в списке SupportedFeatures должно присутствовать значение common:update_environment.

Важно

Если окружение не удастся обновить, то сервис будет возвращён в исходное состояние.

Чтобы обновить версию окружения:

  1. Перейдите в раздел PaaS Установленные сервисы и откройте вкладку Поиск и аналитика.

  2. Найдите в таблице сервисов нужный и нажмите на идентификатор сервиса для перехода на его страницу.

  3. На вкладке Информация нажмите Обновить версию окружения.

  4. В открывшемся окне выберите из списка версию, на которую вы хотите обновить текущее окружение.

  5. Нажмите Обновить для смены версии.

Подключение хранилища снимков#

Встроенный механизм создания снимков в Elasticsearch позволяет создавать резервные копии индексов, потоков данных и состояния кластера. Созданные снимки можно использовать для восстановления данных после сбоя или их переноса между сервисами Elasticsearch. К2 Облако позволяет автоматизировать процесс создания и регистрации хранилища снимков для сервиса Elasticsearch.

Для хранения снимков используются бакеты объектного хранилища. При создании хранилища в бакете создаётся каталог, который монтируется на каждом узле кластера Elasticsearch в виде файловой системы s3fs. Такой подход позволяет использовать один и тот же бакет для хранения снимков разных сервисов, в том числе разных типов. А сохранение снимков в виде файлов упрощает обмен снимками: пользователи могут загрузить собственные снимки для восстановления сервиса или скачать имеющиеся.

Средствами облака можно только подключить хранилище снимков, для управления снимками необходимо использовать собственные инструменты Elasticsearch. Создавать снимки можно с помощью собственного API Elasticsearch, либо посредством управления жизненным циклом снимков (Snapshot Lifecycle Management, SLM). Чтобы индекс и другие данные можно было восстановить, индекс, снимок и версия кластера должны быть совместимы между собой.

Добавить хранилище снимков#

Вы можете создать новое хранилище снимков или подключить уже существующее хранилище другого сервиса. Процедура добавления хранилища состоит из двух этапов: сначала необходимо его создать/подключить, а потом зарегистрировать в Elasticsearch.

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

Примечание

Если хранилище зарегистрировано за другим сервисом, то его можно подключить только для чтения. Поскольку к одному сервису можно подключить только одно хранилище, после восстановления/переноса данных необходимо отключить хранилище и создать новое, если вы хотите делать резервные копии сервиса.

Добавить новое хранилище#

  1. Перейдите в раздел PaaS Установленные сервисы и откройте вкладку Поиск и аналитика.

  2. Найдите в таблице сервисов нужный и нажмите на идентификатор сервиса для перехода на его страницу.

  3. Откройте вкладку Хранилища снимков и нажмите Создать.

  4. В открывшемся окне задайте следующие параметры (опция Существующее хранилище должна быть выключена):

    • Бакет, где будет создано хранилище снимков.

    • Пользователь с правами PaaS Backup User, от имени которого выполняется запись копий в бакет.

    • Каталог, который будет монтироваться в качестве хранилища.

  5. Нажмите Добавить для создания хранилища.

  6. Дождитесь, пока сервис перейдет в статус Запущен и включите переключатель Регистрация хранилища.

Добавить зарегистрированное хранилище#

Зарегистрированное хранилище можно подключить к другому сервису только для чтения

  1. Перейдите в раздел PaaS Установленные сервисы и откройте вкладку Поиск и аналитика.

  2. Найдите в таблице сервисов нужный и нажмите на идентификатор сервиса для перехода на его страницу.

  3. Откройте вкладку Хранилища снимков и нажмите Создать.

  4. В открывшемся окне отметьте опцию Существующее хранилище и в поле Сервис для восстановления выберите сервис, хранилище которого необходимо подключить.

  5. Нажмите Добавить для создания хранилища.

  6. Дождитесь, пока сервис перейдет в статус Запущен и включите переключатель Регистрация хранилища.

Добавить незарегистрированное хранилище#

Процедура подключения незарегистрированного хранилища аналогична созданию нового. Только в этом случае указывается существующий каталог, который ранее использовался в качестве хранилища снимков.

  1. Перейдите в раздел PaaS Установленные сервисы и откройте вкладку Поиск и аналитика.

  2. Найдите в таблице сервисов нужный и нажмите на идентификатор сервиса для перехода на его страницу.

  3. Откройте вкладку Хранилища снимков и нажмите Создать.

  4. В открывшемся окне задайте следующие параметры (опция Существующее хранилище должна быть выключена):

    • Бакет, где будет создано хранилище снимков.

    • Пользователь с правами PaaS Backup User, от имени которого выполняется запись копий в бакет.

    • Каталог, который ранее использовался в качестве хранилища.

  5. Нажмите Добавить для создания хранилища.

  6. Дождитесь, пока сервис перейдет в статус Запущен и включите переключатель Регистрация хранилища.

Отключить хранилище снимков#

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

  1. Перейдите в раздел PaaS Установленные сервисы и откройте вкладку Поиск и аналитика.

  2. Найдите в таблице сервисов нужный и нажмите на идентификатор сервиса для перехода на его страницу.

  3. Откройте вкладку Хранилища снимков и переведите переключатель Регистрация хранилища в выключенное положение

  4. Дождитесь, пока сервис перейдет в статус Запущен и нажмите Удалить.

  5. Подтвердите удаление в открывшемся окне.

Удаление сервиса Elasticsearch#

Удаление сервиса Elasticsearch предполагает удаление всех созданных вместе с ним экземпляров и дисков.

Вы можете удалить сервис одним из следующих способов.

  1. Перейдите в раздел PaaS Установленные сервисы.

  2. Откройте вкладку Поиск и аналитика.

  3. Найдите сервис в таблице и нажмите на иконку .

  1. Перейдите в раздел PaaS Установленные сервисы.

  2. Откройте вкладку Поиск и аналитика.

  3. Найдите сервис в таблице и перейдите на страницу сервиса.

  4. На вкладке Информация нажмите Удалить.