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

API получения записей

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

Запрос

GET _ml/anomaly_detectors/<job_id>/results/records

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

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

Описание

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

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

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

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

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

Параметры запроса

desc
(Необязательно, булево) Если истинно, результаты сортируются в порядке убывания.
end
(Необязательно, строка) Возвращает записи с отметками времени, которые предшествуют этому времени. По умолчанию значение -1, что означает, что оно не задано, и результаты не ограничены определёнными отметками времени.
exclude_interim
(Необязательно, булево) Если true, вывод исключает промежуточные результаты. По умолчанию false, что означает, что промежуточные результаты включаются.
from
(Необязательно, целое число) Пропускает указанное количество записей. По умолчанию 0.
record_score
(Необязательно, двойное число) Возвращает записи с оценками аномалий, больше или равными этому значению. По умолчанию 0.0.
size
(Необязательно, целое число) Указывает максимальное количество записей для получения. По умолчанию 100.
sort
(Необязательно, строка) Указывает поле сортировки для запрашиваемых записей. По умолчанию записи сортируются по значению record_score.
start
(Необязательно, строка) Возвращает записи с отметками времени, которые следуют за этим временем. По умолчанию -1, что означает, что оно не задано, и результаты не ограничены определёнными отметками времени.

Тело запроса

Вы также можете указать параметры запроса в теле запроса; исключениями являются from и size, используйте page вместо них:

page
Свойства page
from
(Необязательно, целое число) Пропускает указанное количество записей. По умолчанию 0.
size
(Необязательно, целое число) Указывает максимальное количество записей для получения. По умолчанию 100.

Тело ответа

API возвращает массив объектов записей, которые имеют следующие свойства:

actual
(массив) Фактическое значение для корзины.
bucket_span
(число) Длина корзины в секундах. Это значение соответствует значению bucket_span, указанному в задании.
by_field_name
(строка) Поле, используемое для разделения данных. В частности, это свойство используется для анализа разделов относительно их собственной истории. Оно используется для поиска необычных значений в контексте раздела.
by_field_value
(строка) Значение поля по.
causes
(массив) Для анализа населения необходимо указать поле over в детекторе. Это свойство содержит массив записей аномалий, которые являются причинами аномалии, обнаруженной для поля over. Если полей over нет, это поле отсутствует. Этот подресурс содержит наиболее аномальные записи для over_field_name. По соображениям масштабируемости возвращается максимум 10 наиболее значимых причин аномалии. В рамках основного аналитического моделирования эти записи низкого уровня агрегируются для родительской записи поля over. Ресурс причин содержит элементы, аналогичные ресурсу записи, а именно actual, typical, geo_results.actual_point, geo_results.typical_point, *_field_name и *_field_value. Вероятность и оценки не применимы к причинам.
detector_index
(число) Уникальный идентификатор детектора. Этот идентификатор основан на порядке детекторов в analysis_config, начиная с нуля.
field_name
(строка) Некоторые функции требуют поля для работы, например, sum(). Для этих функций это значение — имя поля, подлежащего анализу.
function
(строка) Функция, в которой происходит аномалия, как указано в конфигурации детектора. Например, max.
function_description
(строка) Описание функции, в которой происходит аномалия, как указано в конфигурации детектора.
geo_results.actual_point
(строка) Фактическое значение для корзины, отформатированное как geo_point. Если функция детектора является lat_long, это строка, разделяемая запятыми, широты и долготы.
geo_results.typical_point
(строка) Типичное значение для корзины, отформатированное как geo_point. Если функция детектора является lat_long, это строка, разделяемая запятыми, широты и долготы.
influencers
(массив) Если influencers было указано в конфигурации детектора, этот массив содержит влияния, которые способствовали или были виновны в аномалии.
initial_record_score
(число) Нормализованный балл от 0 до 100, основанный на вероятности аномальности этой записи. Это начальное значение, которое было рассчитано в момент обработки корзины.
is_interim
(булево) Если true, это промежуточный результат. Другими словами, результаты рассчитываются на основе частичных входных данных.
job_id
(строка) Идентификатор задания обнаружения аномалий.
over_field_name
(строка) Поле, используемое для разделения данных. В частности, это свойство используется для анализа разделов относительно истории всех разделов. Оно используется для поиска необычных значений в популяции всех разделов. Дополнительную информацию можно найти в Выполнение анализа населения.
over_field_value
(строка) Значение поля over.
partition_field_name
(строка) Поле, используемое для сегментации анализа. При использовании этого свойства у вас будут полностью независимые базовые показатели для каждого значения этого поля.
partition_field_value
(строка) Значение поля раздела.
probability
(число) Вероятность возникновения отдельной аномалии в диапазоне 0 до 1. Это значение может быть сохранено с высокой точностью более 300 десятичных знаков, поэтому record_score предоставляется как удобочитаемая и понятная интерпретация этого.
multi_bucket_impact
(число) Показатель того, насколько сильно аномалия является многокорзинной или однокорзинной. Значение находится в диапазоне от -5.0 до +5.0, где -5.0 означает, что аномалия является чисто однокорзинной, а +5.0 означает, что аномалия является чисто многокорзинной.
record_score
(число) Нормализованный балл от 0 до 100, основанный на вероятности аномальности этой записи. В отличие от initial_record_score, это значение будет обновляться процессом перенормировки по мере анализа новых данных.
result_type
(строка) Внутреннее. Это всегда устанавливается в record.
timestamp
(дата) Начальное время корзины, для которой были рассчитаны эти результаты.
typical
(массив) Типичное значение для корзины согласно аналитической модели.

Дополнительные свойства записей добавляются в зависимости от анализируемых полей. Например, если анализируется hostname в качестве поля по, то поле hostname добавляется в документ результата. Эта информация позволяет более легко фильтровать результаты аномалий.

Примеры

GET _ml/anomaly_detectors/low_request_rate/results/records
{
  "sort": "record_score",
  "desc": true,
  "start": "1454944100000"
}

В этом примере API возвращает двенадцать результатов для указанных ограничений по времени:

{
  "count" : 4,
  "records" : [
    {
      "job_id" : "low_request_rate",
      "result_type" : "record",
      "probability" : 1.3882308899968812E-4,
      "multi_bucket_impact" : -5.0,
      "record_score" : 94.98554565630553,
      "initial_record_score" : 94.98554565630553,
      "bucket_span" : 3600,
      "detector_index" : 0,
      "is_interim" : false,
      "timestamp" : 1577793600000,
      "function" : "low_count",
      "function_description" : "count",
      "typical" : [
        28.254208230188834
      ],
      "actual" : [
        0.0
      ]
    },
  ...
  ]
}

© 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-get-record.html

Spec-Zone.ru

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