Знали ли вы, что с версии 2.4 OpenSearch Dashboards начал поддерживать несколько источников данных. То есть вы можете подключить OpenSearch Dashboards к нескольким кластерам одновременно и работать с ними из одной консоли. Ссылка на раздел документации.
Читать полностью…Весенняя волна 3-дневных интенсивов по OpenSearch и Elastic Stack
Программа открывается при нажатии на соответствующий курс ниже.
🔎 OpenSearch — 4-6 марта (уже на следующей неделе)
🔎 Elastic Stack — 25-27 марта
Интенсив — это как ракета-носитель, которая за 3 дня выведет вас на заданную орбиту. Вы сможете сразу приступить к работе вместо долгого изучения документации по каждому из компонентов OpenSearch или Elastic Stack. А если вы руководитель, сможете сэкономить на привлечении консалтинга со стороны.
Вопросы можно задать @galssoftware либо по почте welcome@gals.software.
Запуск официальных тренингов по Zabbix на русском языке
Галс Софтвэр (Казахстан) получил статус Zabbix Certified Trainer, а это означает возможность проведения сертифицированных тренингов с возможностью получения официальных сертификатов вендора. Все тренинги и сертификации будут проводиться на русском языке. Предлагаем ознакомиться с расписанием ближайших публичных тренингов:
Zabbix Certified Specialist (ZCS) 11-15 марта 2024 года (оффлайн + онлайн)
Zabbix Certified Professional (ZCP) 8-10 апреля 2024 года (оффлайн + онлайн)
Также возможно проведение закрытых тренингов по запросу.
Задать вопросы и получить дополнительную информацию вы можете у @galssoftware, по запросу на welcome@galssoftware.com или на сайте galssoftware.com.
grokdebugger.com
Онлайн-эмулятор grok-паттерна для Logstash. Нет сомнений, что многие о нём знают, но тем, кто слышит впервые, этот инструмент сэкономит часы на отладку grok-паттернов.
Совет на каждый день
Этой статье уже два года, но она не потеряла актуальность. Коллеги из Мегафон рассказывают как они тонко умеют настраивать Filebeat. Это действительно высокое искусство, потому что иначе есть риск потери сообщений.
Вышел OpenSearch 2.11
В этом посте разберем что же там появилось нового.
⚡️Мультимодальный поиск
В этом релизе представлен мультимодальный поиск по тексту и изображениям с использованием нейронного поиска. Эта функциональность позволяет искать пары изображений и текста, например, элементы каталога товаров (изображение и описание товара), на основе визуального и семантического сходства. Например, пользователи могут искать "белую блузку", получая изображения продуктов — модель машинного обучения (ML), на которой основан механизм, способна ассоциировать семантику и визуальные характеристики. Теперь можно встроить эти возможности в свое приложение, чтобы напрямую подключаться к мультимодальным моделям и выполнять мультимодальные поисковые запросы без необходимости создания собственного промежуточного ПО.
⚡️Сравнение и настройка результатов поиска
Представленный в OpenSearch 2.4 в качестве беты, в этом выпуске инструмент сравнения результатов поиска стал GA. Этот инструмент позволяет сравнивать результаты двух различных поисковых запросов в OpenSearch Dashboards. Например, можно сравнить результаты лексического поиска с результатами семантического поиска, чтобы просмотреть оба результата и соответствующим образом скорректировать запросы.
⚡️Эффективная защита данных благодаря взаимодействию между снапшотами и удаленными хранилищами
OpenSearch предлагает два встроенных способа повышения сохранности данных: удаленное хранение, позволяющее автоматически сохранять все транзакции по каждому индексу в выбранном облачном сервисе, и снапшоты, позволяющие создавать по запросу моментальный снимок индексов и метаданных кластера в настроенном хранилище. Эта функция позволяет использовать снапшоты более эффективно, с меньшей нагрузкой на вычислительные ресурсы, делая снапшоты, которые ссылаются на данные в удаленном хранилище, а не дублируют их полностью.
⚡️Улучшение удобства использования Security Analytics
Были внесены изменения в пользовательский интерфейс, призванные облегчить начало работы с Security Analytics. Новый воркфлоу упрощает процесс создания детекторов угроз и настройки оповещений в OpenSearch Dashboards, сокращая количество шагов и уточняя некоторые поля формы. Еще одно изменение добавляет категории к типам журналов, упорядочивая встроенные и кастомные логи по предопределенным категориям для упрощения фильтрации и сортировки.
⚡️Повышение уровня безопасности OpenSearch Dashboards
В OpenSearch 2.11 была устранена зависимость от AngularJS в OpenSearch Dashboards.
⚡️Авторизация на уровне REST для разработки подключаемых модулей
Авторизация на уровне REST позволяет разработчикам подключаемых модулей создавать безопасные средства управления доступом к конечным точкам REST в дополнение к авторизации на транспортном уровне. Ранее OpenSearch осуществлял проверку авторизации исключительно на транспортном уровне.
⚡️Отслеживание запросов OpenSearch с помощью трассировки
В OpenSearch 2.11 в качестве экспериментальной функциональности появилась возможность отслеживания запросов и задач OpenSearch. В этом выпуске OpenSearch представляет новую структуру данных, позволяющую разработчикам отслеживать запросы и задачи OpenSearch в процессе их прохождения через компоненты и сервисы распределенной архитектуры.
Скачать OpenSearch 2.11
Заметки к релизу
Песочница OpenSearch 2.11
В статье описано как запустить OpenSearch в Kubernetes при помощи OpenSearch Kubernetes Operator. Разворачивание OpenSearch в k8s позволит легко раскатывать rolling updates, зачищать ноды кластера перед их отключением да и вообще легко управлять кластером.
Статья
Репозиторий OpenSearch Kubernetes Operator на GitHub
Документация по OpenSearch Kubernetes Operator
Познакомьтесь с силой искусственного интеллекта
В этом видео показано как при помощи ChatGPT можно создавать фильтры для Logstash. Невероятно удобно!
Полтора месяца назад вышел OpenSearch 2.9
Ключевое: обновление инструментария ML, обновления по части работы с событиями по ИБ, обновления визуализации геоданных и улучшенное сжатие данных для повышения производительности и уменьшения размера индексов.
Улучшения в поиске при помощи поисковых конвейеров. Поисковые конвейеры включают в себя три встроенных процессора: filter_query, rename_field и script request, а также новые API, ориентированные на разработчиков, позволяющие создавать собственные процессоры.
Семантический поиск стал проще. В OpenSearch 2.4.0 появилась экспериментальная функциональность нейронного поиска. С версии 2.9.0 нейронный поиск перешел в статус GA. Этот инструмент позволяет векторизовать документы и запросы, чтобы осуществлять поиск по преобразованным векторам с использованием алгоритма k-NN. Теперь можно объединить лексический поиск BM25 с семантическим поиском на основе глубокого обучения для повышения релевантности поиска.
Интеграция и управление моделями ML в кластере OpenSearch. ML-фреймворк, выпущенный в 2.4.0 в качестве экспериментальной функции, позволяет загружать собственные модели ML в OpenSearch, поддерживая модели с текстовым вложением из таких инструментов как PyTorch и ONNX. В рамках подготовки фреймворка к переходу в GA в OpenSearch 2.9.0 также введено управление доступом к ML-моделям. Эта функция позволяет администраторам управлять доступом к отдельным моделям, интегрированным в фреймворк.
Интеграция ML-моделей, управляемых извне. В OpenSearch 2.9.0 расширена функциональность ML-фреймворка, позволяя создавать коннекторы к сервисам искусственного интеллекта и ML-платформам. Эти коннекторы позволяют пользователям использовать модели, размещенные на подключенных сервисах и платформах. В качестве примера такой возможности в релиз 2.9 включен коннектор для моделей, размещенных на Amazon SageMaker. В ближайшее время будут опубликованы коннекторы для Cohere Rerank и OpenAI ChatGPT.
Расширение поиска за счет усовершенствования векторных баз данных. В этом релизе реализация k-NN поддерживает предварительную фильтрацию для запросов, использующих механизм Facebook AI Similarity Search (FAISS). Теперь можно фильтровать запросы с помощью метаданных до выполнения поиска ближайших соседей в k-NN-индексах, построенных с помощью FAISS. Это обеспечивает более эффективный k-NN-поиск и более высокую производительность. Ранее OpenSearch поддерживал предварительную фильтрацию только для индексов Lucene.
Еще одно обновлением в OpenSearch k-NN — поддержка векторов Lucene размером в байт. Теперь пользователи могут получать и использовать векторы, квантованные до размера одного байта на измерение вместо четырех. Это снижает требования к объему памяти для загрузки, сохранения и выполнения векторного поиска, но при этом потенциально снижает точность.
Создание мониторов и детекторов в OpenSearch Dashboards. Теперь можно видеть оповещения и аномалии наложенными на основные дашборды. Пользователи также могут создавать мониторы оповещений или детекторы аномалий непосредственно из своих визуализаций.
Комплексные мониторы для получения более содержательных оповещений. В версии 2.9.0 появились комплексные мониторы. Они позволяют объединять оповещения, генерируемые несколькими отдельными мониторами, в единое целое. Пользователи получают уведомления при выполнении условий срабатывания всех мониторов. Это позволяет анализировать источники данных по нескольким критериям и получать более детальную информацию о них.
Продолжение в следующем посте.
Вышел DataPrepper 2.4
DataPrepper — это компонент OpenSearch, который является аналогом ingest-node в ElasticSearch и предназначен для трансформации данных.
Из ключевых обновлений: поддержка в качестве источника Apache Kafka, пакетная обработка событий Amazon S3, фильтрация внутри синков, новые кодеки для синков S3 и потоковое обнаружение аномалий.
Поддержка Apache Kafka. Добавлена поддержка Kafka и Amazon Managed Streaming for Apache Kafka (Amazon MSK) в качестве источника, что принимать данные из одного или нескольких топиков в кластере Kafka. Также есть возможность настроить несколько конвейеров на считывание данных из одного топика в Kafka, что позволяет настраивать количество потребителей топика на стороне Kafka.
Пакетная обработка событий S3. Добавлена поддержка функции сканирования S3, которая сканирует бакеты Amazon S3 для обработки объектов без необходимости настройки уведомлений о событиях Amazon S3. Фича подходит для случаев, когда необходимо перенести большие объемы исторических данных или для пользователей, которые хотят запускать задания ночного сканирования данных, загруженных в бакеты S3.
Фильтрация внутри синков. Добавлены опции include_keys и exclude_keys для синков, что дает возможность получать данные из любого источника и применять правила обогащения с помощью цепочки процессоров. Также можно выборочно отправлять данные в определенный приемник, например OpenSearch или S3 для архивации.
Кодеки S3. Появились новые кодеки: JSON codec, Avro codec, Parquet codec.
Потоковое обнаружение аномалий. Потоковый детектор аномалий теперь содержит опцию identification_keys, которая создает модель Random Cut Forest (RCF) для каждого значения в данных временного ряда. С помощью опции identification_keys аномалии обнаруживаются по уникальному набору ключей.
Скачать новую версию DataPrepper 2.4
Release Notes к DataPrepper 2.4
Roadmap для DataPrepper
6 июня был анонсирован выпуск OpenSearch 2.8. Можно с уверенностью сказать, что частота релизов OpenSearch приближается к ElasticSearch. Однако, справедливости ради нужно сказать, что в последнем нововведений в каждой новой минорной версии гораздо больше.
Что нового
1. Поддержка PPL (Piped Processing Language) для кросс-кластерного поиска. Подробнее в репозитории на Гитхабе.
2. Упрощение задач управления индексами. Управлять индексами теперь можно из интерфейса OpenSearch Dashboards. Оттуда же можно настроить оповещения о длительных процессах в рамках ISM, а также о завершении переиндексации, разделения или слияния индексов.
3. Поисковые конвейеры. Для разработчиков поисковых приложений эта функциональность открывает возможность интегрировать сложные цепочки поисковых процессоров в OpenSearch без дополнительной обработки конечными пользователями. Этот релиз включает три встроенных процессора: filter_query, rename_field и script request.
Заметки к выпуску
В продолжение темы OpenSearch предлагаем вам обратить внимание репозиторий с утилитой для тестирования нагрузки на OpenSearch.
Возможности:
🔍 Запуск эталонных тестов производительности и запись результатов
🔍 Настройка и отключение кластеров OpenSearch для проведения бенчмарков
🔍 Управление данными и спецификациями бенчмарков в разных версиях OpenSearch
🔍 Обнаружение проблем с производительностью путем подключения телеметрических устройств
🔍 Сравнение результатов производительности
🔍 Создание специализированных нагрузок
❗️Вышел OpenSearch 2.7.0
В этом посте мы расскажем, что появилось нового. Ключевое — это переход из беты в GA* возможностей репликации сегментов и поиска по снэпшотам. В конце поста вы найдете ссылки на пост в блоге OpenSearch и заметки к релизу. Поехали!
*General Available — возможность использования фичи в продуктивных средах
🔎Поиск по снэпшотам
Такая возможность в качестве экспериментальной появлась в OpenSearch 2.4.0, а с текущей версии в GA. Снэпшоты с возможностью поиска позволяют выполнять поиск по индексам, которые хранятся в виде снэпшотов в удаленных репозиториях в режиме реального времени, без необходимости предварительно загружать набор проиндексированных данных в кластер. Кстати, в оригинальном Elastisearch такая функция входит в подписку Enterprise.
🔎Репликация сегментов
Эта функциональность также перешла в режим GA из экспериментальной (появилась начиная с версии 2.3). Репликация сегментов — это иная стратегия репликации данных в отличие от репликации документов. Репликация сегментов копирует файлы сегментов Lucene с основного шарда на реплики. Сегментная архитектура Lucene, основанная на принципе «запись только один раз», означает, что копировать нужно только новые сегменты, вместо того, чтобы дописывать новые документы в существующие шарды. Этот подход позволяет повысить производительность индексирования и снизить нагрузку на аппаратные ресурсы.
Визуализация данных из нескольких источников
Запущенная в качестве экспериментальной в OpenSearch 2.4.0, эта функция также перешла в режим GA и позволяет использовать несколько источников данных для OpenSearch Dashboards. Теперь можно динамически управлять источниками данных на нескольких кластерах OpenSearch, создавать шаблоны индексов на основе этих источников, запускать запросы к определенному источнику данных и объединять визуализации в единый дашборд.
🔎Мультитенантость в OS Dashboards
OpenSearch Dashboards использует тенанты в качестве пространства для хранения и обмена шаблонами индексов, визуализациями, дашбордами и другими объектами, с административным контролем над тем, какие пользователи могут получить доступ к тенанту и уровнем предоставляемого доступа. В предыдущих версиях создание и отображение тенантов поддерживалось в Dashboards, а их конфигурация выполнялась в файлах YAML, что требовало внесения изменений на каждой ноде для поддержания согласованности между нодами и перезапуск Dashboards для вступления изменений в силу. В этом релизе администраторы могут просматривать, настраивать, включать или отключать тенанты в Dashboards и вносить эти изменения без необходимости перезапуска.
Анализ событий безопасности с помощью встроенных инструментов корреляции
Данные из логов, содержащие события безопасности, могут охватывать несколько индексов и потоков данных, а визуализация взаимосвязей между связанными событиями даст ценные сведения для аналитиков безопасности. Механизм корреляции позволяет определять взаимосвязи в данных о событиях безопасности из различных источников данных, таких как DNS, Netflow, Active Directory и др. Построенный граф можно использовать для определения закономерностей и исследования взаимосвязей между различными системами в контролируемой инфраструктуре.
О других новведениях в OpenSearch 2.7 читайте по ссылкам ниже.
🔍Статья с описанием релиза в блоге OpenSearch
🔍Заметки к релизу
🔍Загрузка новой версии OpenSearch
🔍Песочница OpenSearch
Какая у вас версия OpenSearch в продуктивной среде?
Как понять, что с вашим поисковым запросом в ElasticSearch что-то не так? Правильный ответ — попробуйте профилирование запроса. Profile API дает низкоуровневое представление о том, как выполняются поисковые запросы, чтобы понять, почему определенные запросы выполняются медленно и как-то их улучшить. Profile API не измеряет сетевую задержку, время, затраченное на фазу выборки поискового запроса, время, затраченное на нахождение запросов в очереди или на объединение ответов шардов на координирующей ноде. Пример выполнения:
GET /products/_searchОбратите внимание, что это дорогая с точки зрения производительности операция. В текущей версии документации Elasticsearch добавлено подробное описание блоков результатов профилирования для того, чтобы было понятно что и где искать. Страница документации.
{
"profile": true,
"query" : {
"match" : { "position" : "огурцы" }
}
}
Два интересных API для получения детальной информации по хранению данных
Field usage stats API — возвращает детальную информацию о полях документа для каждого шарда и индекса.
Analyze index disk usage API — анализирует использование диска каждым полем индекса или потока данных.
Используете ли вы Elastic для мониторинга? В этой статье разобран пример мониторинга тестового приложения Elastiflix — поисковика по фильмотеке. К приложению цепляется Open Telemetry и передает данные в Elastic.
Из чего состоит приложение:
🔎javascript-frontend: фронтэнд на React.
🔎node-server: бэкэнд.
🔎dotnet-login: сервис login, который возвращает рандомное имя пользователя.
Вышел OpenSearch 2.12 и его ключевые обновления:
✨Встроенная интеграция с Apache Spark
Не спорим, очень полезно для решения разных аналитических задач.
✨Улучшения производительности
- Конкурентный поиск по сегментам перешел в GA. Подробнее.
- Агрегированные гистограммы по датам можно фильтровать по временным интервалам
- Новый тип поля match_only_text
, который похож на текстовое поле, но не поддерживает скоринг и более эффективен по части хранения данных.
✨Новый эндпоинт для отслеживания тяжелых запросов
GET /_insights/top_queries — показывает длительные запросы
И ряд других улучшений в области ML. Подробнее можно узнать в блоге OpenSearch.
Заметки к релизу
Песочница с OpenSearch 2.12
Полезный инструмент мониторинга для пользователей Elasticsearch — DBeast. Никто не спорит, что есть Zabbix, Prometheus, TICK Stack и много чего ещё. А есть DBeast: открытый и бесплатный.
Какой мониторинг на борту:
🔍Elastic stack monitor
🔍Elasticsearch host overview
🔍Logstash overview
🔍Logstash instance monitor
🔍Logstash pipeline analytics
🔍Elasticsearch ingest pipelines overview
🔍Elasticsearch ingest pipeline analytics
🔍Elasticsearch index level monitor
🔍Elasticsearch index patterns monitor
🔍Elasticsearch shard level monitor
🔍Machine Learning Jobs monitoring
Примерно пару недель назад Elastic объявил о выходе нового релиза для всего стэка — 8.12. Ключевое:
Elasticsearch. Apache Lucene 9.9 под капотом Elasticsearch, новые возможности машинного обучения, коннекторы в GA и другое
Observability. SLO в GA, Observability AI Assistant в GA, Mobile APM на базе OpenTelemetry в GA и другое
Статья в блоге Elastic
Наш новый канал по Zabbix
Мы запустили новый канал @zabbix_ru, посвященный понятно какой системе. Будем публиковать полезные материалы, записи вебинаров, конференций, митапов, а также делиться собственным опытом. Пост там пока только один, но скоро будет много.
Вышел OpenSearch 2.10
Мы непрерывно следим за обновлениями OpenSearch и вот уже вышла новая версия. Отличный темп и интересный функционал. По нашему мнению, отделение OpenSearch в полностью отдельную ветку пошло ему на пользу. В этом посте разбираемся что нового там появилось и анонсируем курс по OpenSearch 9-11 октября.
⚡️Удаленное хранилище для резервирования данных
В OpenSearch 2.10 появилось удаленное резервное хранилище, которое представляет собой альтернативу снапшотам или копиям реплик. Функционал дает возможность автоматически создавать резервные копии всех транзакций по каждому индексу на удаленном хранилище с использованием облачных сервисов по выбору (включая S3).
Удаленное хранилище интегрировано с репликацией сегментов OpenSearch. Это позволяет выбрать удаленное хранилище в качестве источника для репликации. А еще, в этом релизе репликация сегментов и индексов на удаленном хранилище поддерживает различные версии Lucene, что необходимо для rolling updates.
⚡️Повышение релевантности поиска
В OpenSearch 2.9 в GA перешли нейронный поиск и поисковые конвейеры. В 2.10 эти инструменты дополнены процессором нормализации и функцией гибридных запросов. Теперь можно повысить релевантность поиска, комбинируя оценки релевантности лексических запросов с векторными поисковыми запросами k-NN на основе естественного языка.
⚡️Доступ и анализ большего количества логов в Security Analytics с помощью пользовательских типов логов
С момента выпуска OpenSearch Security Analytics в инструментарий была добавлена поддержка ряда популярных источников логов безопасности. В этом релизе в OpenSearch учли пожелания коммьюнити, добавив пользовательские типы логов. Новый CRUD API позволяет определять собственные типы логов и использовать их так же, как и другие логи — для создания детекторов, пользовательских правил, дополнительных сопоставлений и т.д.
⚡️Превращение данных в выводы с помощью нового Discover
В релизе 2.10 улучшено удобство использования и значительно обновлен бэкенд инструмента Discover в Dashboards. Теперь есть возможность использовать как новую версию инструмента Discover, так и предыдущую. Предполагается, что новая версия будет использоваться по умолчанию начиная с OpenSearch 2.11.
⚡️Обогащение данных GeoIP
В этом релизе появился новый способ обогащения данных географической информацией. С помощью нового процессора IP2Geo OpenSearch может получать информацию о географическом положении IPv4- или IPv6-адреса и добавлять ее в поступающие данные во время их записи или обогащать данные позднее. Ранее OpenSearch получал географические IP-адреса из статической базы данных, которая могла устаревать. В этом процессоре доступ к актуальным географическим IP-адресам осуществляется из внешних баз данных, предоставляемых компанией MaxMind.
⚡️Повышение производительности поиска с помощью параллельного поиска по сегментам
При стандартном подходе OpenSearch выполняет поисковые запросы последовательно по всем сегментам на каждом шарде. В экспериментальной версии функции параллельного поиска по сегментам появилась возможность параллельного запроса к сегментам индекса на уровне шарда. Это снижает задержку для многих типов поисковых запросов, например, для длительных запросов, содержащих агрегированные данные или большие диапазоны.
Release Notes
OpenSearch Playground (песочница)
Загрузить новую версию
❗️Приглашаем вас на обновленный курс по OpenSearch, который состоится 9-11 октября. Программа курса по ссылке. Вопросы можно задать @galssoftware либо на почту welcome@gals.software.
Вышел Elastic 8.10 & анонс курса по Elastic 20-22 сентября
Нежданно-негаданно, очень даже буднично, 12 сентября на сайте Elastic появился анонс новой версии. Присаживайтесь поудобнее, расскажем о том, что появилось нового в каждой из областей: Observability, Security, Search.
Observability
В Elastic Observability 8.10 представлены Elastic Universal Profiling уже в режиме GA и усовершенствования в Elastic AI Assistant для Observability.
Elastic Universal Profiling — это инструмент профилирования, который устраняет необходимость в инструментарии кода, перекомпиляции и перезапуска служб. Магия? Нет, просто он использует для получения данных eBPF. Инструмент профилирует строки кода, включая приложения, ядро и библиотеки сторонних разработчиков.
Elastic AI Assistant для Observability был представлен в бете в Elastic Observability 8.9, а в текущей версии дополнен новыми возможностями чата, включая возможность взаимодействия с пользователем на естественном языке, запоминания и обобщения информации в ходе разговора, а также создания базы знаний (на основе Elastic Learned Sparse Encoder) для предоставления дополнительного контекста и рекомендаций на основе данных.
Security
В Elastic Security 8.10 переосмыслена работа аналитиков, чтобы ускорить и повысить эффективность расследования угроз. В боковой панели Alert можно получить рекомендации и контекстную информацию для ускорения процесса расследования. Аналитик увидит причину срабатывания предупреждения и получит доступ к подробной информации о правилах и предупреждениях, а также к соответствующим тактикам и методикам MITRE ATT&CK. Теперь рядом с оповещением можно просмотреть полное руководство по расследованию.
Search
В Elastic Search 8.10 расширился каталог интеграций с открытым кодом за счет коннекторов для баз знаний и коммуникационных систем. Также появились правила для поиска и Synonyms API для упрощения работы с синонимами.
Дополнительная вещь, которую хотелось бы добавить — это появление output в виде Kafka для Elastic Agent (пока что в бете).
Новая версия уже доступна для скачивания на сайте Elastic (для России нужен VPN).
🧑🎓 Приглашаем вам на обновленную версию курса по Elastic 8, который мы проведем 20-22 сентября. Подробная программа и запись на курс по ссылке.
Повышение производительности с помощью опции сжатия индексов. OpenSearch 2.9 предоставляет встроенные кодеки, которые выполняют сжатие индексов, влияя на размер сегментов и производительность операций индексирования. Предыдущие версии включали два типа кодеков: кодек для индексов по умолчанию, в котором приоритет отдается производительности, а не сжатию, и кодек best_compression, который обеспечивает высокую степень сжатия и меньший размер индекса, но при этом потенциально увеличивает нагрузку на процессор во время индексирования и может приводить к увеличению задержек. В версии 2.9.0 в OpenSearch добавлены два новых кодека, zstd и zstd_no_dict, которые используют алгоритм сжатия Zstandard от Facebook. Оба кодека направлены на достижение баланса между сжатием и производительностью, при этом в zstd_no_dict исключена функция сжатия словарей, что дает потенциальный выигрыш в производительности индексирования и поиска за счет несколько большего размера индекса.
Упрощение обнаружения угроз с помощью Security Analytics. Security Analytics теперь поддерживает новую схему ввода логов, соответствующую Open Cybersecurity Schema Framework (OCSF), что позволяет использовать журналы OCSF из Amazon Route 53, AWS CloudTrail и Amazon Virtual Private Cloud (Amazon VPC). Также стал доступен механизм корреляции для OpenSearch Security Analytics. Можно создавать пользовательские правила корреляции, которые отображают визуальный граф и список обнаруженных угроз по различным источникам, таким как DNS, Netflow и Active Directory. Граф можно использовать при проведении расследований в области безопасности для анализа связанных с ними угроз, что помогает выявить закономерности и взаимосвязи угроз в различных системах.
Агрегированные метрики для геоданных. В OpenSearch геоданные хранятся с использованием типов полей geoshape и geopoint. В предыдущих версиях пользователи могли выполнять агрегирование для типов данных geopoint. В версии 2.9.0 OpenSearch также поддерживает агрегирование для типов данных geoshape в качестве внутренней функциональности, доступной через API. В этом релизе добавлена поддержка геошаблонов для трех типов агрегаций: geo_bounds — метрическая агрегация, которая вычисляет ограничительную рамку, содержащую все геозначения в поле; geo_hash — агрегация с несколькими бакетами, которая группирует геошаблоны в бакеты, представляющие ячейки в сетке; и geo_tile — агрегация с несколькими бакетами, которая группирует геошаблоны в бакеты, представляющие плитки карты.
Скачать OpenSearch 2.9
Заметки к релизу
OpenSearch Playground (песочница)
Как понять, что ваши удаленные сотрудники работают не из России
В последнее время многие российские компании по разным причинам перестали благоволить удаленной работе за пределами России. В одном из проектов у нас была задача визуализации таких подключений в Kibana.
Реализуется всё следующим образом: с VPN-шлюза (например, Cisco ASA) настраивается отправка сообщений syslog в Logstash, который их разбирает. Далее на стороне ingest-ноды Elasticsearch настраивается GeoIP processor и далее при помощи Kibana Alerts и ElastAlert настраиваются оповещения в телеграм или почту, если вход был не из России.
У Elastic есть собственная база IP-адресов https://geoip.elastic.co/v1/database. При желании, для сопоставления, можно использовать другие собственные или внешние ресурсы.
7 петабайт логов в Elastic
Интересная и познавательная статья о том как устроено хранилище данных в Тинькофф.
12-14 июля проведем 3-дневный курс по работе с Elastic Stack.
Мы добавили в курс разделы с конвертированием SQL в DSL, нагрузочное тестирование кластера Elastic при помощи утилиты Rally и SIEM.
После прохождения курса вы будете уметь разворачивать защищенный кластер, настраивать обработку различных данных, создавать визуализации в Kibana, рассчитывать сайзинг, обнаруживать уязвимости системы и многое другое.
Курс — это как ракета-носитель, которая за 3 дня выведет вас на заданную орбиту. Вы сможете сразу приступить к работе вместо долгого изучения документации по каждому из компонентов Elastic Stack.
Программа курса и заявка на участие по ссылке. Вопросы можно задать @galssoftware.
Репликация сегментов в OpenSearch стала доступна для использования в продуктивных средах начиная с версии 2.7. Этот подход заключается не в подокументной индексации документов в реплики, а в копировании файлов сегментов полностью. В этой статье на Хабре рассказали немного подробнее об этом подходе.
Читать полностью…Векторный поиск, дополняющий полнотекстовый, помогает находить семантически схожие документы. В этой статье описано создание гибридного поиска, сочетающего в себе возможности полнотекстового и векторного поиска. Используемый стек состоит из OpenSearch и Sentence Transformers.
Статья для тех, кто хочет повысить релевантность поиска в своём проекте.
Если вы планируете использовать или уже используете Elasticsearch в качестве поискового сервиса для вашего ecommerce-проекта, то статья о структуре о схеме документов вам определённо будет полезна. Здесь описан здравый подход по формированию вложенности полей в зависимости от цвета, размера и SKU товаров.
Если вы считаете, что ваш поиск работает медленно или у вас есть понимание необходимости его оптимизации — приходите к нам на консультацию (запрос можно отправить в телеграм @galssoftware или через форму обратной связи на сайте).
Используете Elasticsearch в качестве поискового движка?
Сколько шардов на ноду ок и сколько не ок — такой вопрос нам часто задают на обучении или в ходе проектов. Самый простой совет — 20 шардов на каждый Гб JVM Heap. В этом посте мы попытались разобраться что же в действительности утилизирует аппаратные ресурсы на ноде, когда мы говорим про овершардинг.
Каждый индекс и каждый шард требуют определенных ресурсов памяти и процессора. Небольшой набор крупных шардов использует меньше ресурсов, чем множество мелких шардов. Сегменты также играют большую роль в использовании ресурсов шарда. Большинство шардов содержат несколько сегментов, в которых хранятся данные. Elasticsearch хранит некоторые метаданные сегментов в JVM Heap, чтобы их можно было быстро извлечь при поиске. По мере роста шарда его сегменты объединяются в меньшее количество более крупных сегментов. Это уменьшает количество сегментов, а значит, меньше метаданных хранится в JVM Heap.
Каждое поле документа также вносит определенные накладные расходы в виде использования памяти и дискового пространства. По умолчанию Elasticsearch автоматически создает маппинг полей в каждом индексируемом документе, этим можно управлять при необходимости. Нужно учитывать дополнительные накладные расходы, если шарды имеют большое количество сегментов, а соответствующий маппинг содержит большое количество полей и/или очень длинные имена полей.
Ещё один момент состоит в том, что более крупные шарды дольше восстанавливаются после сбоя. Когда нода выходит из строя, Elasticsearch восстанавливает баланс между шардами. Этот процесс копирует содержимое шарда по сети, поэтому для восстановления шарда размером 100 ГБ потребуется в два раза больше времени, чем для шарда размером 50 ГБ. В отличие от этого, маленькие хранилища несут пропорционально больше накладных расходов и менее эффективны при поиске. Поиск в пятидесяти хранилищах размером 1 ГБ займет значительно больше ресурсов, чем поиск в одном хранилище размером 50 ГБ, содержащем те же данные. Важен баланс.
Не существует жестких ограничений на размер шарда, но опыт показывает, что для логов и данных временных рядов обычно подходят шарды размером от 10 до 50 ГБ. Вы можете определять размеры шардов в зависимости от ёмкости сети и условий использования. Если используете ILM, установите порог max_primary_shard_size действия rollover на 50 ГБ, чтобы избежать использования шардов размером более 50 ГБ. А чтобы узнать текущий размер шардов, используйте cat shards API.
Запомнить:
Удаляйте индексы, а не документы
Удаленные документы Elasticsearch помечает как удаленный на каждом связанном с ним шарде. Помеченный документ будет продолжать использовать ресурсы, пока не будет удален во время периодического слияния сегментов.
Удаляйте целые индексы
Elasticsearch может немедленно удалить удаленные индексы непосредственно из файловой системы и освободить ресурсы.
Используйте потоки данных и ILM для временных рядов данных
Потоки данных позволяют хранить данные временных рядов в нескольких индексах, основанных на времени. В рамках ILM можно настраивать размеры шардов.
Если тема вам интересна, рекомендуем пару статей к прочтению:
How many shards should I have in my Elasticsearch cluster? (блог Elastic)
Size your shards (документация Elastic)