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"
}
}
Доступ к данным
Подключение к интерфейсу OpenSearch реализовано через портал самообслуживания. Чтобы получить доступ к данным, необходимо перейти на вкладку меню “Логирование”, ввести логин (opensearch
) и пароль.
Работа с панелями (OpenSearch Dashboards)
OpenSearch Dashboards — инструмент для визуализации данных, с помощью которого пользователи могут создавать информативные и интерактивные панели на основе данных из OpenSearch. Пользователи могут взаимодействовать с данными на дашбордах, применять фильтры и детализировать информацию для более глубокого анализа. Инструмент предоставляет различные типы визуализаций, включая графики, диаграммы и карты, чтобы визуально представлять разнообразные данные. OpenSearch Dashboards поддерживает совместную работу, что позволяет нескольким пользователям одновременно создавать и редактировать дашборды. Помимо этого, дашборды можно импортировать и экспортировать для обмена настройками и визуализациями между различными инсталляциями OpenSearch Dashboards.
В составе настоящего релиза OpenSearch поставляется без преднастроенных панелей. Предполагается, что администраторы кастомизируют панели под бизнес-задачи.
Создание пользовательских панелей с использованием различных виджетов и визуализаций
Подробнее о работе с OpenSearch Dashboards см. в Руководстве администратора KeyStack и документации OpenSearch Dashboards.
Работа с данными
OpenSearch позволяет осуществлять поиск в логах по ключевым словам, фразам и полям, используя Dashboards Query Language (DQL). Интерфейс доступа к данным представлен на рисунке ниже.

Интерфейс инструмента Discover, через который осуществляется доступ к данным
Примеры запросов
Вывести все сообщения, содержащие информацию о роутере, с id
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
:
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Вывести все сообщения об ошибках на определенном хосте
host-1
:
Hostname: "host-1" and log_level: ERROR
Вывести все сообщения сервиса
nova-compute
с хостаhost-2
о ВМ с idxxxxxxxx-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.
Конфигурация OpenSearch
Компонент позволяет настроить тайм-аут для сессий и файла cookie. Для этого необходимо в момент конфигурации региона добавить файл по пути config/opensearch/opensearch.yml
со следующими параметрами:
opensearch_security.cookie.ttl: 86400000
opensearch_security.session.ttl: 86400000
opensearch_security.session.keepalive: true
Описание параметров:
opendistro_security.cookie.ttl
— целое число, время жизни файла cookie в миллисекундах. Для файла cookie сеанса можно установить значение 0. Значение по умолчанию — 1 час.opendistro_security.session.ttl
— целое число, продолжительность сеанса в миллисекундах. Если этот параметр установлен, пользователю будет предложено повторно войти в систему по истечении заданного времени, независимо от файла cookie. Значение по умолчанию — 1 час.opendistro_security.session.keepalive
— логическое значение: если установлено значение true, то продолжительность сеанса продлевается с помощью функции открытия файлаdistro_security.session.ttl
при каждом запросе. Значение по умолчанию — true.
При деплое региона необходимо указать параметр KOLLA_ARGS -t opensearch
.
Данный раздел в дальнейшем будет дополняться.