API получения записей
Возвращает записи об аномалиях для задачи обнаружения аномалий.
Запрос
GET _ml/anomaly_detectors/<job_id>/results/records
Предварительные условия
Требуется привилегия кластера monitor_ml. Эта привилегия включена в встроенную роль machine_learning_user.
Описание
Записи содержат подробные аналитические результаты. Они описывают аномальную активность, которая была обнаружена в входных данных на основе конфигурации детектора.
В зависимости от характеристик и размера входных данных может быть много записей об аномалиях. На практике их часто слишком много для ручного обработки. Поэтому функции машинного обучения выполняют сложную агрегацию записей об аномалиях в корзины.
Количество результатов записей зависит от количества аномалий, обнаруженных в каждой корзине, что связано с количеством временных рядов, моделируемых, и количеством детекторов.
Параметры пути
-
<job_id> - (Обязательно, строка) Идентификатор задачи обнаружения аномалий.
Параметры запроса
-
desc - (Необязательно, булево) Если true, результаты сортируются в порядке убывания.
-
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 - (массив) Фактическое значение для корзины.
-
anomaly_score_explanation -
(объект) При наличии, предоставляет информацию о факторах, влияющих на начальный балл аномальности.
Свойства
anomaly_score_explanation-
anomaly_characteristics_impact - (необязательно, целое число) Влияние продолжительности и масштаба обнаруженной аномалии по отношению к историческому среднему.
-
anomaly_length - (необязательно, целое число) Длина обнаруженной аномалии в количестве корзин.
-
anomaly_type - (необязательно, строка) Тип обнаруженной аномалии: пик или спад.
-
high_variance_penalty - (необязательно, логическое значение) Указывает на снижение балла аномальности для корзины с большими доверительными интервалами. Если у корзины большие доверительные интервалы, балл снижается.
-
incomplete_bucket_penalty - (необязательно, логическое значение) Если корзина содержит меньше образцов, чем ожидалось, балл снижается. Если корзина содержит меньше образцов, чем ожидалось, балл снижается.
-
lower_confidence_bound - (необязательно, двойное значение) Нижняя граница 95%-го доверительного интервала.
-
multimodal_distribution - (необязательно, логическое значение) Указывает, имеет ли распределение вероятностей значений корзины несколько мод. Когда есть несколько мод, типичное значение может быть не наиболее вероятным.
-
multi_bucket_impact - (необязательно, целое число) Влияние отклонения между фактическими и типичными значениями в последних 12 корзинах.
-
single_bucket_impact - (необязательно, целое число) Влияние отклонения между фактическими и типичными значениями в текущей корзине.
-
typical_value - (необязательно, двойное значение) Типичное (ожидаемое) значение для этой корзины.
-
upper_confidence_bound - (необязательно, двойное значение) Верхняя граница 95%-го доверительного интервала.
-
-
bucket_span - (число) Длина корзины в секундах. Это значение соответствует
bucket_span, указанному в задании. -
by_field_name - (строка) Поле, используемое для разделения данных. В частности, это свойство используется для анализа разделов относительно их собственной истории. Оно используется для поиска необычных значений в контексте раздела.
-
by_field_value - (строка) Значение
by_field_name. -
causes - (массив) Для анализа населения необходимо указать поле «over» в детекторе. Это свойство содержит массив записей аномалий, являющихся причинами аномалии, которая была идентифицирована для поля «over». Если полей «over» нет, это поле отсутствует. Этот подресурс содержит самые аномальные записи для
over_field_name. По соображениям масштабируемости возвращается не более 10 самых значимых причин аномалии. В рамках основного аналитического моделирования эти записи низкого уровня агрегируются для записи родительского поля «over». Ресурс «causes» содержит элементы, аналогичные ресурсу «record», а именноactual,typical,geo_results.actual_point,geo_results.typical_point,*_field_nameи*_field_value. Вероятность и баллы не применимы к причинам. -
detector_index - (число) Уникальный идентификатор детектора.
-
field_name - (строка) Некоторые функции требуют поля для работы, например,
sum(). Для этих функций это значение — имя поля, подлежащего анализу. -
function - (строка) Функция, в которой происходит аномалия, как указано в конфигурации детектора. Например,
max. -
function_description - (строка) Описание функции, в которой происходит аномалия, как указано в конфигурации детектора.
-
geo_results -
(необязательно, объект) Если функция детектора является
lat_long, этот объект содержит строки через запятую для широты и долготы фактических и типичных значений.Свойства
geo_results-
actual_point - (строка) Фактическое значение для корзины в формате
geo_point. -
typical_point - (строка) Типичное значение для корзины в формате
geo_point.
-
-
influencers - (массив) Если
influencersбыло указано в конфигурации детектора, этот массив содержит влияющие факторы, которые способствовали или были виновны в возникновении аномалии. -
initial_record_score - (число) Нормализованный балл от 0 до 100, основанный на вероятности аномальности этой записи. Это начальное значение, вычисленное в момент обработки корзины.
-
is_interim - (логическое значение) Если
true, это промежуточный результат. Другими словами, результаты рассчитываются на основе частичных входных данных. -
job_id - (строка) Идентификатор задания обнаружения аномалий.
-
multi_bucket_impact - (число) Показатель того, насколько сильно аномалия является многокорзинной или однокорзинной. Значение находится в диапазоне от
-5.0до+5.0, где-5.0означает, что аномалия полностью однокорзинная, а+5.0означает, что аномалия полностью многокорзинная. -
over_field_name - (строка) Поле, используемое для разделения данных. В частности, это свойство используется для анализа разделов относительно истории всех разделов. Оно используется для поиска необычных значений в популяции всех разделов. Дополнительная информация в Анализ популяции.
-
over_field_value - (строка) Значение
over_field_name. -
partition_field_name - (строка) Поле, используемое для сегментирования анализа. При использовании этого свойства вы получаете полностью независимые базовые линии для каждого значения этого поля.
-
partition_field_value - (строка) Значение
partition_field_name. -
probability - (число) Вероятность возникновения индивидуальной аномалии в диапазоне от 0 до 1. Например, 0.0000772031. Это значение может храниться с высокой точностью более 300 десятичных знаков, поэтому
record_scoreпредоставляет удобочитаемую и дружественную интерпретацию этого значения. -
record_score - (число) Нормализованный балл от 0 до 100, основанный на вероятности аномальности этой записи. В отличие от
initial_record_score, это значение будет обновляться с помощью процесса повторной нормализации при анализе новых данных. -
result_type - (строка) Внутреннее. Это всегда установлено в
record. -
timestamp - (дата) Начальное время корзины, для которой были рассчитаны эти результаты.
-
typical - (массив) Типичное значение для корзины в соответствии с аналитической моделью.
Дополнительные свойства записей добавляются в зависимости от анализируемых полей. Например, если анализируется hostname как поле «по», то к документу результатов добавляется поле hostname. Эта информация позволяет легче фильтровать результаты аномалий.
Примеры
resp = client.ml.get_records(
job_id="low_request_rate",
sort="record_score",
desc=True,
start="1454944100000",
)
print(resp) response = client.ml.get_records(
job_id: 'low_request_rate',
body: {
sort: 'record_score',
desc: true,
start: '1454944100000'
}
)
puts response const response = await client.ml.getRecords({
job_id: "low_request_rate",
sort: "record_score",
desc: true,
start: 1454944100000,
});
console.log(response); GET _ml/anomaly_detectors/low_request_rate/results/records
{
"sort": "record_score",
"desc": true,
"start": "1454944100000"
} {
"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/8.17/ml-get-record.html