OpenSearch

Описание работы с OpenSearch, панели и запросы

OpenSearch — инструмент для поиска и анализа данных в документах с открытым исходным кодом. Разработанный на основе Elasticsearch, OpenSearch предоставляет эффективное хранилище и обработку данных, а также масштабируемую архитектуру.

Основные возможности OpenSearch:

  • Полнотекстовый поиск (full text queries): OpenSearch предлагает инструменты для выполнения сложных полнотекстовых поисковых запросов.

  • Структурированные запросы (structured queries): можно использовать структурированные запросы, аналогичные SQL, для более точного и удобного извлечения данных.

  • Сложносоставные запросы (complex queries), сочетающие в себе предыдущие типы запросов.

  • Масштабируемость: OpenSearch может быть легко масштабирован для обработки как небольших, так и очень больших объемов данных.

  • Гибкая структура: использование JSON-документов для хранения данных обеспечивает гибкость в адаптации схемы к различным типам информации.

Некоторые возможности поиска в OpenSearch:

  • Поиск по индексам: можно проводить поиск как по конкретному индексу в кластере, так и по нескольким индексам.

  • Асинхронный поиск: поддерживается асинхронный поиск для обработки больших запросов, которые могут выполняться длительное время.

Кластеры и узлы

Распределенный дизайн OpenSearch подразумевает взаимодействие с несколькими кластерами OpenSearch.

Каждый кластер представляет собой набор из одного или нескольких узлов — серверов, которые хранят ваши данные и обрабатывают поисковые запросы. В кластере с одним узлом одна машина должна делать все: управлять состоянием кластера, индексировать и искать данные, а также выполнять любую предварительную обработку данных перед их индексированием. По мере роста кластера можно разделить обязанности. Узлы с быстрыми дисками и большим объемом оперативной памяти могут отлично справляться с индексацией и поиском данных, в то время как узел с достаточной мощностью процессора и маленьким диском может управлять состоянием кластера.

Индексы и документы

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

{
  "title": "The Wind Rises",
  "release_date": "2013-07-20"
}

Когда вы добавляете документ в индекс, OpenSearch добавляет некоторые метаданные, например, уникальный идентификатор документа (id):

{
  "_index": "<index-name>",
  "_type": "_doc",
  "_id": "<document-id>",
  "_version": 1,
  "_source": {
    "title": "The Wind Rises",
    "release_date": "2013-07-20"
  }
}

Доступ к данным

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

  • Google Chrome 72 и выше;

  • Mozilla Firefox 63 и выше.

Чтобы получить доступ к данным, необходимо ввести логин (opensearch) и пароль.

Данный раздел в дальнейшем будет дополняться информацией про аутентификацию и авторизацию доступа к данным OpenSearch.

Работа с панелями (OpenSearch Dashboards)

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

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

Создание пользовательских панелей с использованием различных виджетов и визуализаций

Подробнее о работе с OpenSearch Dashboards см. в Руководстве администратора KeyStack и документации OpenSearch Dashboards.

Работа с данными

OpenSearch позволяет осуществлять поиск в логах по ключевым словам, фразам и полям, используя Dashboards Query Language (DQL). Интерфейс доступа к данным представлен на рисунке ниже.

auth

Рисунок 4 — Интерфейс инструмента Discover, через который осуществляется доступ к данным

Примеры запросов

  1. Пример вывода всех сообщений, содержащих информацию о роутере, с id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:

"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  1. Пример вывода всех сообщений об ошибках на определенном хосте host-1:

Hostname: "host-1" and log_level: ERROR
  1. Пример вывода всех сообщений сервиса nova-compute с хоста host-2 о ВМ с id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, исключая записи уровня INFO:

Hostname: "host-2" and programname: "nova-compute" and "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" and not log_level: INFO

Более подробно о запросах и DQL смотрите в документации OpenSearch DQL.

Добавление нового output для сборщика логов

Подробнее о добавлении нового output для сборщика логов см. в Руководстве администратора KeyStack.

Клонирование существующих виртуальных машин с кастомизацией

Подробнее о клонировании с существующих виртуальных машин с кастомизацией см. в Руководстве администратора KeyStack.