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

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

Обновляет определенные свойства задачи обнаружения аномалий.

Запрос

POST _ml/anomaly_detectors/<job_id>/_update

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

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

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

<job_id>
(Обязательно, строка) Идентификатор задачи обнаружения аномалий.

Тело запроса

После создания задачи можно обновить следующие свойства:

allow_lazy_open

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

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

analysis_limits

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

Вы можете обновить analysis_limits только при закрытой задаче.

Свойства analysis_limits
model_memory_limit

(long или строка) Приблизительный максимальный объём ресурсов памяти, необходимых для аналитической обработки. По мере приближения к этому пределу, удаление данных становится более агрессивным. При превышении этого предела новые сущности не моделируются. Значение по умолчанию для задач, созданных в версии 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 значениями, превышающими значение этой настройки, произойдёт ошибка. Для получения дополнительной информации, см. Параметры машинного обучения.

  • Вы не можете уменьшить значение model_memory_limit ниже текущего значения использования. Чтобы определить текущее использование, обратитесь к значению model_bytes в API получения статистики по задаче.
  • Если свойство memory_status в объекте model_size_stats имеет значение hard_limit, это означает, что обработка некоторых данных не удалась. Вы можете перепроверить задачу с увеличенным значением model_memory_limit.
background_persist_interval

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

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

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

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

(массив) Массив объектов обновления детектора.

Свойства detectors
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.
description
(строка) Описание детектора. Например, Low event rate.
detector_index

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

Если вы хотите обновить определенный детектор, вы должны использовать этот идентификатор. Однако вы не можете изменить значение detector_index для детектора.

groups
(массив строк) Список групп задач. Задача может принадлежать к нулю или многим группам.
model_plot_config

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

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

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

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

Свойства model_plot_config
annotations_enabled
(Булево) Если true, включает вычисление и хранение аннотаций изменений модели для каждой анализируемой сущности. По умолчанию — enabled.
enabled
(Булево) Если true, включает вычисление и хранение границ модели для каждой анализируемой сущности. По умолчанию это отключено.
terms
[preview] Эта функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции в техническом предварительном просмотре не подпадают под гарантии SLA поддержки официальных функций GA. (строка) Ограничивает сбор данных до указанного списка полей или значений разделов через запятую. Если термины не указаны или это пустая строка, фильтрация не применяется. Например, "CPU,NetworkIn,DiskWrites". Поддержка шаблонов не поддерживается. Только указанные terms могут быть просмотрены при использовании Single Metric Viewer.
model_prune_window
(единицы измерения времени) Параметр расширенной настройки. Влияет на обрезку моделей, которые не обновлялись в течение указанного времени. Значение должно быть кратно bucket_span. Если значение слишком низкое, важная информация может быть удалена из модели. Обычно устанавливается значение 30d или больше. Если не установлено, обрезка модели происходит только если статус памяти модели достигает мягкого или жесткого предела.
model_snapshot_retention_days
(целое число) Параметр расширенной настройки, влияющий на автоматическое удаление старых снимков моделей для этой задачи. Указывает максимальный период времени (в днях), в течение которого сохраняются снимки. Этот период относится к дате метки времени последнего снимка для этой задачи. Значение по умолчанию — 10, что означает удаление снимков, которые старше десяти дней, чем последний снимок. Дополнительная информация содержится в Снимки моделей.
per_partition_categorization

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

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

Если задача открыта во время обновления, необходимо остановить поток данных, закрыть задачу, затем снова открыть задачу и перезапустить поток данных, чтобы изменения вступили в силу.

results_retention_days
(целое число с длинной точностью) Параметр расширенной настройки. Период времени (в днях), в течение которого сохраняются результаты. Возраст рассчитывается относительно метки времени последнего результата корзины. Если у этого свойства есть ненулевое значение, один раз в день в 00:30 (по серверному времени) удаляются результаты, которые старше указанного количества дней, чем последний результат корзины, из Elasticsearch. Значение по умолчанию — null, что означает сохранение всех результатов. Аннотации, сгенерированные системой, также учитываются как результаты для целей хранения; они удаляются через такое же количество дней, как результаты. Аннотации, добавленные пользователями, сохраняются навсегда.

Примеры

POST _ml/anomaly_detectors/low_request_rate/_update
{
  "description":"An updated job",
  "detectors": {
    "detector_index": 0,
    "description": "An updated detector description"
  },
  "groups": ["kibana_sample_data","kibana_sample_web_logs"],
  "model_plot_config": {
    "enabled": true
  },
  "renormalization_window_days": 30,
  "background_persist_interval": "2h",
  "model_snapshot_retention_days": 7,
  "results_retention_days": 60
}

При обновлении задачи обнаружения аномалий вы получаете сводку информации о конфигурации задачи, включая обновленные значения свойств. Например:

{
  "job_id" : "low_request_rate",
  "job_type" : "anomaly_detector",
  "job_version" : "7.5.1",
  "groups" : [
    "kibana_sample_data",
    "kibana_sample_web_logs"
  ],
  "description" : "An updated job",
  "create_time" : 1578101716125,
  "finished_time" : 1578101721816,
  "analysis_config" : {
    "bucket_span" : "1h",
    "summary_count_field_name" : "doc_count",
    "detectors" : [
      {
        "detector_description" : "An updated detector description",
        "function" : "low_count",
        "detector_index" : 0
      }
    ],
    "influencers" : [ ]
  },
  ...
}

© 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-update-job.html

Spec-Zone.ru

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