Открыть сервис

X-Pack

X-Pack — это расширение (плагин) для поискового движка Elasticsearch, добавляющее ряд коммерческих функций, включая обеспечение безопасности, мониторинг, оповещение, машинное обучение, управление графическими данными и визуализацию. X-Pack был разработан компанией Elastic, которая также является разработчиком Elasticsearch, Kibana, Logstash и Beats (стек ELK). Изначально распространялся как платный коммерческий продукт, однако с 2019 года часть функций X-Pack была включена в бесплатную версию Elastic Stack (Basic tier), а для доступа к расширенным возможностям требуется подписка (Gold, Platinum, Enterprise).

История

X-Pack был впервые анонсирован компанией Elastic в 2015 году как единый пакет, объединяющий ранее отдельные коммерческие плагины для Elasticsearch: Shield (безопасность), Watcher (оповещение), Marvel (мониторинг) и Graph (анализ связей). До этого каждый из этих плагинов устанавливался и лицензировался отдельно. X-Pack упростил процесс установки и лицензирования, предоставив единый интерфейс управления через Kibana.

В 2018 году Elastic объявила об изменении модели лицензирования: часть функций X-Pack, включая базовую безопасность и мониторинг, стали бесплатными (Basic tier). В 2019 году компания выпустила Elastic Stack 7.0, в котором X-Pack был полностью интегрирован в дистрибутивы Elasticsearch и Kibana, то есть больше не требовал отдельной установки. Однако для активации расширенных функций (например, машинного обучения, оповещения, управления доступом на основе ролей) по-прежнему необходима платная подписка.

В 2021 году, после изменения лицензии Elasticsearch на SSPL (Server Side Public License), что вызвало критику сообщества, был создан форк OpenSearch (на базе Elasticsearch 7.10.2), который использует Apache 2.0. В OpenSearch аналогом X-Pack является набор плагинов OpenSearch Security, OpenSearch Alerting, OpenSearch Anomaly Detection и другие, распространяемые под открытой лицензией.

Компоненты и функции

X-Pack включает несколько ключевых модулей, каждый из которых решает определённые задачи:

Безопасность (Security)

Мониторинг (Monitoring)

  • Сбор и отображение метрик производительности Elasticsearch, Kibana, Logstash и Beats: использование CPU, памяти, дискового пространства, скорость запросов, задержки.
  • Визуализация состояния кластера в реальном времени и исторических данных.
  • Настройка оповещений при превышении пороговых значений (например, высокая загрузка CPU).

Оповещение (Alerting)

  • Создание правил (rules) на основе запросов к Elasticsearch: например, обнаружение аномалий в логах, превышение порогов, отсутствие данных.
  • Выполнение действий (actions) при срабатывании правила: отправка email, сообщений в Slack, PagerDuty, Jira, вызов вебхуков (webhook) или запуск скриптов.
  • Поддержка частоты опроса (check interval) и условий срабатывания (например, количество срабатываний за период).

Машинное обучение (Machine Learning)

  • Обнаружение аномалий во временных рядах (например, резкие всплески или падения в логах, метриках).
  • Прогнозирование будущих значений на основе исторических данных.
  • Анализ категорий (например, кластеризация логов по шаблонам).
  • Автоматическое построение моделей без необходимости написания кода.

Управление графическими данными (Graph)

  • Анализ связей между документами в Elasticsearch: выявление скрытых взаимосвязей, например, между IP-адресами, пользователями и событиями.
  • Визуализация графа связей в Kibana.
  • Используется для расследования инцидентов безопасности, анализа мошенничества, рекомендательных систем.

Управление индексами (Index Lifecycle Management, ILM)

  • Автоматизация управления жизненным циклом индексов: создание, переход между фазами (hot, warm, cold, delete), удаление.
  • Настройка политик: например, данные 30 дней хранятся на быстрых SSD, затем перемещаются на медленные диски, а через 90 дней удаляются.

SQL и JDBC/ODBC

  • Поддержка выполнения SQL-запросов к данным в Elasticsearch.
  • Предоставление JDBC и ODBC драйверов для подключения BI-инструментов (например, Tableau, Microsoft Power BI).

Кросскластерный поиск и репликация (Cross-Cluster Search and Replication)

  • Возможность выполнять поиск по нескольким удалённым кластерам Elasticsearch.
  • Репликация данных между кластерами для обеспечения отказоустойчивости и географической распределённости.

Лицензирование и подписки

X-Pack распространяется по модели подписки (subscription). Elastic предлагает несколько уровней:

  • Basic (бесплатный): включает базовую безопасность (шифрование, аутентификацию, контроль доступа), мониторинг, управление индексами, SQL, JDBC/ODBC. Доступен всем пользователям.
  • Gold: добавляет оповещение (Alerting) и кросскластерную репликацию.
  • Platinum: включает машинное обучение, Graph, расширенную безопасность (SAML, Kerberos, LDAP), аудит, кросскластерный поиск, управление ролями на уровне полей.
  • Enterprise: добавляет функции для работы с геоданными, интеграцию с SIEM-системами, расширенные возможности машинного обучения.

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

Применение

X-Pack используется в различных сценариях:

  • Безопасность и SIEM: анализ логов безопасности, обнаружение аномалий, оповещение о подозрительной активности.
  • Мониторинг IT-инфраструктуры: сбор метрик с серверов, приложений, сетевых устройств, визуализация в Kibana.
  • Бизнес-аналитика: выполнение SQL-запросов к данным, построение дашбордов, интеграция с BI-инструментами.
  • Логирование и анализ логов: централизованный сбор логов, поиск и фильтрация, обнаружение ошибок и сбоев.
  • Машинное обучение: прогнозирование отказов оборудования, обнаружение аномалий в финансовых транзакциях, анализ поведения пользователей.

Критика и альтернативы

X-Pack подвергался критике за закрытость исходного кода и необходимость платной подписки для расширенных функций. После изменения лицензии Elasticsearch на SSPL многие пользователи перешли на форк OpenSearch, который предоставляет аналогичные функции под лицензией Apache 2.0. Основные альтернативы X-Pack:

  • OpenSearch Security: аутентификация, авторизация, шифрование.
  • OpenSearch Alerting: оповещение.
  • OpenSearch Anomaly Detection: обнаружение аномалий.
  • OpenSearch SQL: поддержка SQL.
  • Grafana: визуализация и мониторинг (часто используется вместо Kibana).

Интересные факты

  • Название «X-Pack» происходит от «eXtensions Pack» (пакет расширений).
  • До выхода X-Pack каждый коммерческий плагин (Shield, Watcher, Marvel, Graph) устанавливался отдельно и имел собственную лицензию.
  • В 2019 году Elastic объявила, что с версии 7.0 X-Pack больше не является отдельным плагином — его код полностью интегрирован в Elasticsearch и Kibana.
  • Функция машинного обучения в X-Pack использует библиотеку Elasticsearch Learning to Rank, основанную на алгоритмах градиентного бустинга.

Источники

  • Официальная документация Elastic: «X-Pack Overview» (elastic.co/guide/en/elastic-stack/current/xpack.html)
  • Elastic Blog: «The Future of X-Pack» (2018)
  • Elastic Blog: «Elastic Stack 7.0: New Defaults, New Features, New License» (2019)
  • Документация OpenSearch: «OpenSearch Plugins» (opensearch.org/docs/latest/install-and-configure/plugins/)
  • Книга: «Elasticsearch in Action» (Manning Publications, 2023)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →