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": "", "_type": "_doc", "_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). Интерфейс доступа к данным представлен на рисунке ниже. .. figure:: Media/opensearch_discover_ui.png :alt: auth :figclass: bg-warning :target: ../../_images/opensearch_discover_ui.png Интерфейс инструмента Discover, через который осуществляется доступ к данным Примеры запросов ---------------- 1. Вывести все сообщения, содержащие информацию о роутере, с id ``xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx``: :: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 2. Вывести все сообщения об ошибках на определенном хосте ``host-1``: :: Hostname: "host-1" and log_level: ERROR 3. Вывести все сообщения сервиса ``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. Конфигурация 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``. Данный раздел в дальнейшем будет дополняться.