Spec-Zone.ru › Elasticsearch 7
›Руководство по Elasticsearch [7.17] ›REST API ›API обнаружения аномалий с помощью машинного обучения

API создания задач обнаружения аномалий

Создает задачу обнаружения аномалий.

Запрос

PUT _ml/anomaly_detectors/<job_id>

Предварительные условия

Требуется привилегия кластера manage_ml. Эта привилегия включена в встроенную роль machine_learning_admin.

Если вы указываете datafeed_config, вам также нужны привилегии индекса read на индексе источника.

Описание

  • Для создания задачи обнаружения аномалий необходимо использовать Kibana или этот API. Не добавляйте задачу напрямую в индекс .ml-config с помощью API индекса Elasticsearch. Если в Elasticsearch включены функции безопасности, не предоставляйте пользователям привилегии write на индексе .ml-config.
  • Если вы указываете datafeed_config, и в Elasticsearch включены функции безопасности, ваш datafeed запоминает роли пользователя, который его создал, в момент создания, и выполняет запрос с использованием тех же ролей. Если вы предоставляете заголовки вторичной авторизации, используются эти учетные данные.

Параметры пути

<job_id>
(Обязательно, строка) Идентификатор задачи обнаружения аномалий. Этот идентификатор может содержать строчные буквенно-цифровые символы (a-z и 0-9), дефисы и подчеркивания. Он должен начинаться и заканчиваться буквенно-цифровыми символами.

Тело запроса

allow_lazy_open
(Необязательно, логическое значение) Дополнительный параметр настройки. Указывает, может ли эта задача открываться, когда для нее недостаточно ресурсов на узлах машинного обучения, чтобы ее можно было немедленно назначить узлу. Значение по умолчанию — false; если узел машинного обучения с необходимыми ресурсами не может быть найден немедленно, API открытия задач обнаружения аномалий возвращает ошибку. Однако это также зависит от настройки xpack.ml.max_lazy_ml_nodes на уровне кластера; см. Дополнительные настройки машинного обучения. Если этот параметр установлен в true, API открытия задач обнаружения аномалий не возвращает ошибку, и задача ожидает в состоянии opening, пока не появятся достаточные ресурсы на узле машинного обучения.
analysis_config

(Обязательно, объект) Настройка анализа, определяющая, как анализировать данные. После создания задачи конфигурацию анализа нельзя изменить; все свойства являются справочными.

Свойства analysis_config
bucket_span
(единицы времени) Размер интервала, в который агрегируется анализ, обычно от 5m до 1h. Значение по умолчанию — 5m. Если задача обнаружения аномалий использует datafeed с агрегациями, это значение должно быть кратно интервалу агрегации date histogram. Дополнительную информацию см. в разделе Ведерки.
categorization_analyzer

(объект или строка) Если указан categorization_field_name, можно также определить анализатор, используемый для интерпретации поля категоризации. Этот параметр не может использоваться одновременно с categorization_filters. Анализатор категоризации определяет, как поле категоризации интерпретируется в процессе категоризации. Синтаксис очень похож на синтаксис определения analyzer в точке входа Analyze. Дополнительную информацию см. в разделе Категоризация сообщений журнала.

Поле categorization_analyzer можно указать либо как строку, либо как объект. Если это строка, она должна ссылаться на встроенный анализатор или анализатор, добавленный другим плагином. Если это объект, он имеет следующие свойства:

Свойства categorization_analyzer
char_filter
(массив строк или объектов) Один или несколько фильтров символов. Помимо встроенных фильтров символов, другие плагины могут предоставлять дополнительные фильтры символов. Этот параметр необязателен. Если он не указан, перед категоризацией не применяются никакие фильтры символов. Если вы настраиваете какой-либо другой аспект анализатора и вам нужно получить эквивалент categorization_filters (которые не допускаются при настройке другого аспекта анализатора), добавьте их сюда в качестве фильтров замены шаблонов.
tokenizer
(строка или объект) Имя или определение токенизатора, используемого после применения фильтров символов. Этот параметр обязателен, если categorization_analyzer указан как объект. Машинное обучение предоставляет токенизатор ml_standard, который токенизирует данные таким образом, который, как было установлено, дает хорошие результаты категоризации различных форматов файлов журналов для журналов на английском языке. Если вы хотите использовать этот токенизатор, но изменить фильтры символов или токенов, укажите "tokenizer": "ml_standard" в своем categorization_analyzer. Кроме того, доступен токенизатор ml_classic, который токенизирует данные так же, как и не настраиваемый токенизатор в старых версиях продукта (до 6.2). ml_classic был токенизатором категоризации по умолчанию в версиях с 6.2 по 7.13, поэтому если вам нужна категоризация, идентичная значениям по умолчанию для задач, созданных в этих версиях, укажите "tokenizer": "ml_classic" в вашем categorization_analyzer.
filter
(массив строк или объектов) Один или несколько фильтров токенов. Помимо встроенных фильтров токенов, другие плагины могут предоставлять дополнительные фильтры токенов. Этот параметр необязателен. Если он не указан, перед категоризацией не применяются никакие фильтры токенов.
categorization_field_name
(строка) Если этот параметр указан, значения указанного поля будут категоризированы. Результирующие категории должны использоваться в детекторе путем установки by_field_name, over_field_name или partition_field_name на ключевое слово mlcategory. Дополнительную информацию см. в разделе Категоризация сообщений журнала.
categorization_filters
(массив строк) Если указан categorization_field_name, можно также определить необязательные фильтры. Этот параметр ожидает массив регулярных выражений. Выражения используются для фильтрации соответствующих последовательностей из значений поля категоризации. Можно использовать эту функциональность для уточнения категоризации, исключая последовательности из рассмотрения при определении категорий. Например, можно исключить SQL-запросы, которые появляются в ваших файлах журналов. Дополнительную информацию см. в разделе Категоризация сообщений журнала. Этот параметр не может использоваться одновременно с categorization_analyzer. Если вам нужно определить только простые фильтры регулярных выражений, которые применяются до токенизации, использование этого параметра является наиболее простым методом. Если вы также хотите настроить токенизатор или фильтрацию после токенизации, используйте параметр categorization_analyzer и включите фильтры в качестве pattern_replace фильтров символов. Эффект будет точно таким же.
detectors

(массив) Массив объектов конфигурации детектора. Объекты конфигурации детектора определяют, какие поля данных анализирует задача. Они также определяют, какие аналитические функции используются. Вы можете указать несколько детекторов для задачи.

Если массив detectors не содержит по крайней мере один детектор, анализ не может быть выполнен, и возвращается ошибка.

Свойства detectors
by_field_name
(строка) Поле, используемое для разделения данных. В частности, это свойство используется для анализа разделов относительно их собственной истории. Оно используется для поиска необычных значений в контексте раздела.
custom_rules

(массив) Массив объектов пользовательских правил, которые позволяют настроить работу детекторов. Например, правило может диктовать детекторам условия, при которых результаты следует пропустить. Kibana называет пользовательские правила правилами задач. Более подробные примеры см. в Настройка детекторов с помощью пользовательских правил.

Свойства custom_rules
actions

(массив) Набор действий, которые будут выполнены при применении правила. Если указано более одного действия, эффекты всех действий комбинируются. Доступные действия включают:

  • skip_result: Результат не будет создан. Это значение по умолчанию. Если вы также не указали skip_model_update, модель будет обновлена как обычно со соответствующим значением ряда.
  • skip_model_update: Значение для этого ряда не будет использоваться для обновления модели. Если вы также не указали skip_result, результаты будут созданы как обычно. Это действие подходит, когда определенные значения ожидаются как аномальные и они влияют на модель таким образом, что негативно сказывается на остальной части результатов.
conditions

(массив) Необязательный массив числовых условий, когда применяется правило. Правило должно иметь либо ненулевой область действия, либо по крайней мере одно условие. Несколько условий объединяются вместе с логическим AND. Условие имеет следующие свойства:

Свойства conditions
applies_to
(строка) Указывает свойство результата, к которому относится условие. Доступные варианты: actual, typical, diff_from_typical, time. Если ваш детектор использует функции lat_long, metric, rare или freq_rare, вы можете указать только условия, которые применяются к time.
operator
(строка) Указывает оператор условия. Доступные варианты: gt (больше), gte (больше или равно), lt (меньше) и lte (меньше или равно).
value
(двойное) Значение, которое сравнивается с полем applies_to, используя operator.
scope

(объект) Необязательная область действия рядов, к которым применяется правило. Правило должно иметь либо ненулевой область действия, либо по крайней мере одно условие. По умолчанию область действия включает все ряды. Область действия разрешена для любых полей, которые также указаны в by_field_name, over_field_name или partition_field_name. Для добавления области действия для поля добавьте имя поля в качестве ключа в объект области действия и установите его значение в объект со следующими свойствами:

Свойства scope
filter_id
(строка) Идентификатор фильтра, который будет использоваться.
filter_type
(строка) Либо include (правило применяется для значений в фильтре), либо exclude (правило применяется для значений, не находящихся в фильтре). По умолчанию значение include.
detector_description
(строка) Описание детектора. Например, Low event rate.
detector_index

(целое число) Уникальный идентификатор детектора. Этот идентификатор основан на порядке детекторов в analysis_config, начиная с нуля.

Если вы укажете значение для этого свойства, оно будет проигнорировано.

exclude_frequent
(строка) Содержит одно из следующих значений: all, none, by или over. Если задано, частые сущности исключаются из влияния на результаты аномалий. Сущности могут рассматриваться как частые во времени или частые в популяции. Если вы работаете как с полями over, так и by, то вы можете установить exclude_frequent на all для обоих полей или на by или over для конкретных полей.
field_name

(строка) Поле, которое детектор использует в функции. Если вы используете функцию скорости событий, такую как count или rare, не указывайте это поле.

Поле field_name не должно содержать двойные кавычки или обратные слэши.

function
(строка) Используемая функция анализа. Например, count, rare, mean, min, max и sum. Более подробную информацию см. в Справочник по функциям.
over_field_name
(строка) Поле, используемое для разделения данных. В частности, это свойство используется для анализа разделов относительно истории всех разделов. Оно используется для поиска необычных значений в популяции всех разделов. Более подробную информацию см. в Выполнение анализа популяций.
partition_field_name
(строка) Поле, используемое для сегментации анализа. При использовании этого свойства вы имеете полностью независимые базовые линии для каждого значения этого поля.
use_null
(булево) Определяет, используется ли новый ряд в качестве нулевого ряда, когда нет значения для полей by или partition. Значение по умолчанию - false.
influencers
(массив строк) Список имен полей-влиятелей, разделенных запятыми. Как правило, это поля by, over или partition, используемые в конфигурации детектора. Вы также можете использовать имя поля, которое не указано специально в детекторе, но доступно в качестве части входных данных. При использовании нескольких детекторов рекомендуется использовать влиятели, поскольку они агрегируют результаты для каждой сущности-влиятеля.
latency

(единицы измерения времени) Размер окна, в котором ожидаются данные, которые не соответствуют порядку времени. Значение по умолчанию равно 0 (задержки нет). Если вы укажете ненулевое значение, оно должно быть больше или равно одной секунде. Более подробную информацию об единицах измерения времени см. в единицы измерения времени.

Задержка применяется только при отправке данных с помощью API post data.

model_prune_window
(Необязательно, единицы измерения времени) Расширенный параметр конфигурации. Влияет на обрезку моделей, которые не обновлялись в течение указанного интервала времени. Значение должно быть кратным bucket_span. Если значение установлено слишком низким, из модели может быть удалена важная информация. Обычно устанавливается на 30d или более. Если не установлено, обрезка модели выполняется только в том случае, если статус памяти модели достигает мягкого или жесткого лимита.
multivariate_by_fields

(булево) Эта функция предназначена для внутреннего использования. Она не поддерживается для использования в средах заказчиков и не попадает под SLA поддержки официальных функций GA.

Если установлено значение true, анализ автоматически найдёт корреляции между метриками для заданного значения поля by и сообщит об аномалиях, когда эти корреляции прекратят действовать. Например, предположим, что использование процессора и оперативной памяти на хосте A обычно сильно коррелирует с теми же метриками на хосте B. Возможно, эта корреляция возникает, потому что они работают с балансировкой нагрузки. Если вы включите это свойство, то аномалии будут сообщаться, когда, например, использование процессора на хосте A высокое, а значение использования процессора на хосте B низкое. То есть вы увидите аномалию, когда использование процессора хоста A необычно по сравнению с использованием процессора хоста B.

Для использования свойства multivariate_by_fields также необходимо указать by_field_name в вашем детекторе.

per_partition_categorization

(Необязательный, объект) Настройки, относящиеся к тому, как категоризация взаимодействует с полями разделения.

Свойства per_partition_categorization
enabled
(Булево) Для включения этой настройки необходимо также установить свойство partition_field_name в одинаковое значение во всех детекторах, использующих ключевое слово mlcategory. В противном случае создание задания завершится неудачно.
stop_on_warn
(Булево) Эта настройка может быть установлена в значение true только в том случае, если включена категоризация по разделам. Если true, и категоризация, и последующее обнаружение аномалий останавливаются для разделов, где статус категоризации изменяется на warn. Эта настройка позволяет создать задание, в котором ожидается, что категоризация будет работать хорошо для некоторых разделов, но не для других; вы не платите за плохую категоризацию навсегда в разделах, где она работает плохо.
summary_count_field_name

(строка) Если это свойство указано, ожидается, что данные, подаваемые в задание, предварительно сгруппированы. Значение этого свойства — имя поля, содержащего количество исходных точек данных, которые были сгруппированы. То же самое summary_count_field_name применяется ко всем детекторам в задании.

Свойство summary_count_field_name нельзя использовать с функцией metric.

analysis_limits

(Необязательный, объект) Могут быть применены ограничения для ресурсов, необходимых для хранения математических моделей в памяти. Эти ограничения приблизительны и могут быть установлены для каждого задания. Они не контролируют память, используемую другими процессами, например, процессами Elasticsearch Java.

Свойства analysis_limits
categorization_examples_limit

(целое число) Максимальное количество примеров, хранящихся в памяти на категорию и в хранилище результатов. Значение по умолчанию — 4. Если вы увеличите это значение, больше примеров будут доступны, однако это потребует больше свободного места. Если вы установите это значение в 0, примеры не будут храниться.

categorization_examples_limit применяется только к анализу, использующему категоризацию. Дополнительную информацию см. в Категоризация сообщений журнала.

model_memory_limit

(целое число или строка) Приблизительный максимальный объем ресурсов памяти, необходимый для аналитической обработки. Когда этот лимит приближается, удаление данных становится более агрессивным. При превышении этого лимита новые сущности не моделируются. Значение по умолчанию для заданий, созданных в версии 6.1 и более поздних, — 1024mb. Однако, если настройка xpack.ml.max_model_memory_limit имеет значение больше 0 и меньше 1024mb, используется это значение. Значение по умолчанию относительно невелико, чтобы гарантировать, что высокое использование ресурсов — это осознанное решение. Если у вас есть задания, которые должны анализировать поля с высокой кардинальностью, вам, вероятно, потребуется использовать более высокое значение.

Если вы укажете число вместо строки, единицы измерения предполагаются в MiB. Для большей ясности рекомендуется указывать строку. Если вы укажете единицу измерения размера в байтах b или kb, и число не соответствует целому числу мегабайт, оно округляется вниз до ближайшего MiB. Минимальное допустимое значение — 1 MiB. Если вы укажете значение меньше 1 MiB, произойдет ошибка. Более подробную информацию о поддерживаемых единицах измерения размера в байтах см. в Единицы измерения размера в байтах.

Если вы укажете значение для настройки xpack.ml.max_model_memory_limit, при попытке создать задания с значениями model_memory_limit, превышающими это значение, произойдет ошибка. Дополнительную информацию см. в Настройки машинного обучения в Elasticsearch.

background_persist_interval

(Необязательно, единицы измерения времени) Дополнительная настройка. Время между каждым периодическим сохранением модели. Значение по умолчанию — случайное значение от 3 до 4 часов, что предотвращает одновременное сохранение всех заданий. Наименьшее допустимое значение — 1 час.

Для очень больших моделей (несколько ГБ) сохранение может занять 10-20 минут, поэтому не устанавливайте значение background_persist_interval слишком низким.

custom_settings
(Необязательный, объект) Дополнительная настройка. Содержит пользовательские метаданные о задании. Например, он может содержать пользовательскую информацию URL, как показано в Добавление пользовательских URL-адресов в результаты машинного обучения.
daily_model_snapshot_retention_after_days
(Необязательно, целое число) Дополнительная настройка, влияющая на автоматическое удаление старых снимков модели для этого задания. Указывает период времени (в днях) после которого сохраняется только первый снимок за день. Этот период относится к метке времени последнего снимка для этого задания. Допустимые значения находятся в диапазоне от 0 до model_snapshot_retention_days. Для новых заданий значение по умолчанию — 1. Для заданий, созданных до версии 7.8.0, значение по умолчанию совпадает с model_snapshot_retention_days. Более подробную информацию см. в Снимки модели.
data_description

(Обязательный, объект) Описание данных определяет формат входных данных при отправке данных в задание с помощью API post data. Обратите внимание, что при настройке источника данных эти свойства автоматически устанавливаются. Когда данные получены через API post data, они не хранятся в Elasticsearch. Сохраняются только результаты обнаружения аномалий.

Свойства data_description
format
(строка) В настоящее время поддерживается только формат JSON.
time_field
(строка) Название поля, содержащего метку времени. Значение по умолчанию — time.
time_format

(строка) Формат времени, который может быть epoch, epoch_ms или пользовательский шаблон. Значение по умолчанию — epoch, что относится к времени UNIX или эпохе (количество секунд с 1 января 1970 года). Значение epoch_ms указывает, что время измеряется в миллисекундах с момента эпохи. Форматы времени epoch и epoch_ms принимают целые или вещественные значения.

Пользовательские шаблоны должны соответствовать классу Java DateTimeFormatter. При использовании шаблонов форматирования даты и времени рекомендуется указывать полную дату, время и часовой пояс. Например: yyyy-MM-dd'T'HH:mm:ssX. Если указанный вами шаблон недостаточен для создания полной метки времени, создание задания завершится неудачно.

datafeed_config

(Необязательно, объект) Источник данных, который извлекает данные из Elasticsearch для анализа задачей. С каждой задачей обнаружения аномалий можно связать только один источник данных.

Свойства datafeed
aggregations
(Необязательно, объект) Если установлено, источник данных выполняет агрегационные запросы. Поддержка агрегаций ограничена и должна использоваться только с данными низкой кардинальности. Дополнительную информацию см. в разделе Агрегирование данных для повышения производительности.
chunking_config

(Необязательно, объект) Источники данных могут потребоваться для поиска за длительные периоды времени, в течение нескольких месяцев или лет. Этот поиск разбивается на временные блоки, чтобы гарантировать, что нагрузка на Elasticsearch управляется. Настройка разбиения управляет тем, как рассчитывается размер этих временных блоков, и является расширенной опцией настройки.

Свойства chunking_config
mode

(строка) Доступны три режима:

  • auto: Размер блока динамически рассчитывается. Это значение по умолчанию и рекомендуется, когда источник данных не использует агрегации.
  • manual: Разбиение применяется в соответствии с указанным time_span. Используйте этот режим, когда источник данных использует агрегации.
  • off: Разбиение не применяется.
time_span
(единицы времени) Продолжительность времени, за которую будет выполняться каждый поиск. Эта настройка применяется только при установке режима manual. Например: 3h.
datafeed_id

(Необязательно, строка) Числовая строка, которая уникально идентифицирует источник данных. Этот идентификатор может содержать строчные буквенно-цифровые символы (a-z и 0-9), дефисы и нижние подчёркивания. Он должен начинаться и заканчиваться буквенно-цифровыми символами.

По умолчанию используется тот же идентификатор, что и у задачи обнаружения аномалий.

delayed_data_check_config

(Необязательно, объект) Указывает, проверяет ли источник данных наличие отсутствующих данных и размер окна. Например: {"enabled": true, "check_window": "1h"}.

Источник данных может по желанию искать в индексах, которые уже были прочитаны, чтобы определить, были ли в индекс добавлены какие-либо данные. Если обнаружены отсутствующие данные, это хороший признак того, что параметр query_delay установлен слишком низко, и данные индексируются после того, как источник данных прошёл этот момент во времени. См. Работа с данными с задержкой.

Эта проверка выполняется только для источников данных в режиме реального времени.

Свойства delayed_data_check_config
check_window
(единицы времени) Окно времени, в котором ищутся данные с задержкой. Это окно времени заканчивается последним завершённым блоком. По умолчанию установлено значение null, что приводит к вычислению соответствующего check_window при запуске источника данных в режиме реального времени. В частности, вычисление интервала check_window основано на максимальном значении между 2h и 8 * bucket_span.
enabled
(Булево) Указывает, периодически ли источник данных проверяет наличие данных с задержкой. По умолчанию установлено значение true.
frequency
(Необязательно, единицы времени) Интервал, с которым планируются запросы при работе источника данных в режиме реального времени. Значение по умолчанию — либо интервал блока для коротких интервалов, либо разумная доля интервала блока для длинных интервалов. Например: 150s. Если frequency короче интервала блока, промежуточные результаты для последнего (частичного) блока записываются, а затем в конечном итоге перезаписываются результатами полного блока. Если источник данных использует агрегации, это значение должно быть кратно интервалу агрегации гистограммы дат.
indices

(Обязательно, массив) Массив имён индексов. Поддерживаются подстановочные знаки. Например: ["it_ops_metrics", "server*"].

Если какие-либо индексы находятся в удалённых кластерах, узлы машинного обучения должны иметь роль remote_cluster_client.

indices_options

(Необязательно, объект) Указывает параметры расширения индексов, используемые во время поиска.

Например:

{
   "expand_wildcards": ["all"],
   "ignore_unavailable": true,
   "allow_no_indices": "false",
   "ignore_throttled": true
}

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

max_empty_searches
(Необязательно, целое число) Если источник данных в режиме реального времени никогда не видел данных (включая во время начального периода обучения), он автоматически остановится и закроет связанную задачу после этого количества запросов в режиме реального времени, которые не вернули документы. Другими словами, он остановится после frequency раз max_empty_searches работы в режиме реального времени. Если не задано, источник данных без конечной точки времени, не получивший данных, будет оставаться запущенным, пока явно не будет остановлен. По умолчанию эта настройка не задана.
query
(Необязательно, объект) Язык запросов Elasticsearch (DSL). Это значение соответствует объекту запроса в теле POST-запроса поиска Elasticsearch. Можно использовать все поддерживаемые Elasticsearch параметры, поскольку этот объект передаётся Elasticsearch без изменений. По умолчанию это свойство имеет следующее значение: {"match_all": {"boost": 1}}.
query_delay
(Необязательно, единицы времени) Количество секунд, на которые данные отстают от реального времени, запрашиваются. Например, если данные с 10:04 утра могут быть доступны для поиска в Elasticsearch только с 10:06 утра, установите это свойство в 120 секунд. Значение по умолчанию выбирается случайным образом между 60s и 120s. Эта случайность улучшает производительность запросов при одновременном запуске нескольких задач на одном узле. Дополнительную информацию см. в разделе Обработка данных с задержкой.
runtime_mappings

(Необязательно, объект) Указывает поля runtime для поиска источника данных.

Например:

{
  "day_of_week": {
    "type": "keyword",
    "script": {
      "source": "emit(doc['@timestamp'].value.dayOfWeekEnum.getDisplayName(TextStyle.FULL, Locale.ENGLISH))"
    }
  }
}
script_fields
(Необязательно, объект) Указывает скрипты, которые вычисляют пользовательские выражения и возвращают поля скрипта источнику данных. Объекты конфигурации детектора в задаче могут содержать функции, использующие эти поля скрипта. Дополнительную информацию см. в разделе Преобразование данных с помощью полей скрипта и Поля скрипта.
scroll_size
(Необязательно, целое без знака) Параметр size, используемый в запросах Elasticsearch, когда источник данных не использует агрегации. Значение по умолчанию — 1000. Максимальное значение — значение index.max_result_window, которое по умолчанию равно 10 000.
description
(Необязательно, строка) Описание задачи.
groups
(Необязательно, массив строк) Список групп задач. Задача может принадлежать к нулю или многим группам.
model_plot_config

(Необязательный, объект) Этот расширенный параметр конфигурации хранит информацию о модели вместе с результатами. Он предоставляет более подробный взгляд на обнаружение аномалий.

Если вы включите график модели, это может значительно снизить производительность системы; это нецелесообразно для задач с множеством сущностей.

График модели предоставляет упрощённый и показательный вид модели и её границ. Он не отображает сложные функции, такие как многомерные корреляции или многомодальные данные. Вследствие этого, иногда могут быть отображены аномалии, которые не видны на графике модели.

Конфигурацию графика модели можно настроить при создании задачи или позже обновить. Её необходимо отключить, если наблюдаются проблемы с производительностью.

Свойства model_plot_config
annotations_enabled
(Булево) Если истинно, включает вычисление и хранение аннотаций изменений модели для каждой анализируемой сущности. По умолчанию значение равно enabled.
enabled
(Булево) Если истинно, включает вычисление и хранение границ модели для каждой анализируемой сущности. По умолчанию это отключено.
terms
[preview] Эта функциональность находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над исправлением любых проблем, но функции в техническом предварительном просмотре не подпадают под SLA поддержки официальных функций GA. (строка) Ограничивает сбор данных до этого списка разделов или значений полей, разделённых запятыми. Если термины не указаны или это пустая строка, фильтрация не применяется. Например, "CPU,NetworkIn,DiskWrites". Поддержка шаблонов не предусмотрена. Только указанные terms могут быть просмотрены при использовании Single Metric Viewer.
model_snapshot_retention_days
(Необязательный, long) Расширенный параметр конфигурации, влияющий на автоматическое удаление старых снимков модели для этой задачи. Он определяет максимальный период времени (в днях), в течение которого сохраняются снимки. Этот период относительный к метке времени последнего снимка для этой задачи. Значение по умолчанию — 10, что означает, что снимки, которые старше последних десяти дней, удаляются. Для получения дополнительной информации обратитесь к Снимки моделей.
renormalization_window_days
(Необязательный, long) Расширенный параметр конфигурации. Период, в течение которого применяются корректировки к оценке по мере поступления новых данных. Значение по умолчанию — большее из 30 дней или 100 bucket_spans.
results_index_name
(Необязательный, строка) Текстовая строка, влияющая на имя индекса результатов машинного обучения. Значение по умолчанию — shared, что создаёт индекс под названием .ml-anomalies-shared.
results_retention_days
(Необязательный, long) Расширенный параметр конфигурации. Период времени (в днях), в течение которого сохраняются результаты. Возраст рассчитывается относительно метки времени последнего результата корзины. Если у этого свойства есть не null значение, то один раз в день в 00:30 (по серверному времени) результаты, которые старше указанного количества дней, чем последний результат корзины, удаляются из Elasticsearch. Значение по умолчанию — null, что означает сохранение всех результатов. Аннотации, сгенерированные системой, также считаются результатами для целей хранения; они удаляются через такое же количество дней, как и результаты. Аннотации, добавленные пользователями, хранятся постоянно.

Примеры

PUT _ml/anomaly_detectors/total-requests
{
  "description" : "Total sum of requests",
  "analysis_config" : {
    "bucket_span":"10m",
    "detectors": [
      {
        "detector_description": "Sum of total",
        "function": "sum",
        "field_name": "total"
      }
    ]
  },
  "data_description" : {
    "time_field":"timestamp",
    "time_format": "epoch_ms"
  }
}

При создании задачи вы получаете следующие результаты:

{
  "job_id" : "total-requests",
  "job_type" : "anomaly_detector",
  "job_version" : "7.5.0",
  "description" : "Total sum of requests",
  "create_time" : 1562352500629,
  "analysis_config" : {
    "bucket_span" : "10m",
    "detectors" : [
      {
        "detector_description" : "Sum of total",
        "function" : "sum",
        "field_name" : "total",
        "detector_index" : 0
      }
    ],
    "influencers" : [ ]
  },
  "analysis_limits" : {
    "model_memory_limit" : "1024mb",
    "categorization_examples_limit" : 4
  },
  "data_description" : {
    "time_field" : "timestamp",
    "time_format" : "epoch_ms"
  },
  "model_snapshot_retention_days" : 10,
  "daily_model_snapshot_retention_after_days" : 1,
  "results_index_name" : "shared",
  "allow_lazy_open" : false
}

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/ml-put-job.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API