API обнаружения аномалий cat
API cat предназначены только для использования человеком с помощью командной строки или консоли Kibana. Они не предназначены для использования приложениями. Для использования приложениями используйте API получения статистики о работе обнаружения аномалий.
Возвращает конфигурационную и справочную информацию о задачах обнаружения аномалий.
Запрос
GET /_cat/ml/anomaly_detectors/<job_id>
GET /_cat/ml/anomaly_detectors
Предварительные условия
- Если функции безопасности Elasticsearch включены, вам необходимо иметь
monitor_ml,monitor,manage_mlилиmanageправа кластера для использования этого API. См. Права безопасности и Права безопасности для машинного обучения.
Описание
Этот API возвращает не более 10 000 задач.
Дополнительную информацию об обнаружении аномалий см. в Поиск аномалий.
Параметры пути
-
<job_id> - (Необязательно, строка) Идентификатор задачи обнаружения аномалий.
Параметры запроса
-
allow_no_match -
(Необязательно, логическое значение) Указывает, что делать, когда запрос:
- Содержит выражения с подстановкой, и нет совпадающих задач.
- Содержит строку
_allили нет идентификаторов, и нет совпадений. - Содержит выражения с подстановкой, и есть только частичные совпадения.
Значение по умолчанию —
true, которое возвращает пустой массивjobs, когда нет совпадений, и подмножество результатов, когда есть частичные совпадения. Если этот параметр равенfalse, запрос возвращает код состояния404, когда нет совпадений или только частичные совпадения. -
bytes - (Необязательно, единицы измерения размера байтов) Единица, используемая для отображения значений байтов.
-
format - (Необязательно, строка) Короткая версия заголовка HTTP accept. Допустимые значения включают JSON, YAML и т.д.
-
h -
(Необязательно, строка) Список столбцов для отображения, разделенный запятыми.
Если вы не укажете, какие столбцы включать, API возвращает столбцы по умолчанию. Если вы явно укажете один или несколько столбцов, он вернет только указанные столбцы.
Допустимые столбцы:
-
assignment_explanation,ae - Только для задач обнаружения аномалий с открытым доступом, содержит сообщения, относящиеся к выбору узла для запуска задачи.
-
buckets.count,bc,bucketsCount - (По умолчанию) Количество результатов ведер, созданных задачей.
-
buckets.time.exp_avg,btea,bucketsTimeExpAvg - Экспоненциально взвешенное скользящее среднее всех времен обработки ведер в миллисекундах.
-
buckets.time.exp_avg_hour,bteah,bucketsTimeExpAvgHour - Экспоненциально взвешенное скользящее среднее времен обработки ведер, рассчитанное за 1 час, в миллисекундах.
-
buckets.time.max,btmax,bucketsTimeMax - Максимальное время обработки ведер, в миллисекундах.
-
buckets.time.min,btmin,bucketsTimeMin - Минимальное время обработки ведер, в миллисекундах.
-
buckets.time.total,btt,bucketsTimeTotal - Сумма всех времен обработки ведер, в миллисекундах.
-
data.buckets,db,dataBuckets - Количество обработанных ведер.
-
data.earliest_record,der,dataEarliestRecord - Отметка времени самого раннего документа, введенного в хронологическом порядке.
-
data.empty_buckets,deb,dataEmptyBuckets - Количество ведер, которые не содержали данных. Если ваши данные содержат много пустых ведер, рассмотрите возможность увеличения своего
bucket_spanили использования функций, которые устойчивы к разрывам в данных, таких какmean,non_null_sumилиnon_zero_count. -
data.input_bytes,dib,dataInputBytes - Количество байтов входных данных, отправленных в задачу обнаружения аномалий.
-
data.input_fields,dif,dataInputFields - Общее количество полей во входных документах, отправленных в задачу обнаружения аномалий. Этот подсчет включает поля, которые не используются в анализе. Однако имейте в виду, что если вы используете канал данных, он извлекает только необходимые поля из документов, которые он извлекает, прежде чем отправлять их в задачу.
-
data.input_records,dir,dataInputRecords - Количество входных документов, отправленных в задачу обнаружения аномалий.
-
data.invalid_dates,did,dataInvalidDates - Количество входных документов с отсутствующим полем даты или датой, которую нельзя было разобрать.
-
data.last,dl,dataLast - Отметка времени, когда данные были в последний раз проанализированы, согласно серверному времени.
-
data.last_empty_bucket,dleb,dataLastEmptyBucket - Отметка времени последнего ведра, которое не содержало данных.
-
data.last_sparse_bucket,dlsb,dataLastSparseBucket - Отметка времени последнего ведра, которое считалось разреженным.
-
data.latest_record,dlr,dataLatestRecord - Отметка времени последнего документа, введенного в хронологическом порядке.
-
data.missing_fields,dmf,dataMissingFields -
Количество входных документов, в которых отсутствует поле, которое настроена анализировать задача обнаружения аномалий. Входные документы с отсутствующими полями всё ещё обрабатываются, поскольку возможно, что отсутствуют не все поля.
Если вы используете каналы данных или отправляете данные в задачу в формате JSON, высокий
missing_field_countчасто не является признаком проблем с данными. Это необязательно вызывает беспокойство. -
data.out_of_order_timestamps,doot,dataOutOfOrderTimestamps - Количество входных документов, у которых метка времени хронологически предшествует началу текущего ведра обнаружения аномалий, смещенному на окно задержки. Эта информация применима только тогда, когда вы предоставляете данные задаче обнаружения аномалий с помощью API отправки данных. Эти документы, нарушающие порядок, отбрасываются, так как задачи требуют, чтобы данные временных рядов были в восходящем хронологическом порядке.
-
data.processed_fields,dpf,dataProcessedFields - Общее количество полей во всех документах, которые были обработаны задачей обнаружения аномалий. Только поля, указанные в объекте конфигурации детектора, учитываются при подсчёте. Метка времени в этот подсчёт не входит.
-
data.processed_records,dpr,dataProcessedRecords - (По умолчанию) Количество входных документов, которые были обработаны задачей обнаружения аномалий. Это значение включает документы с отсутствующими полями, поскольку они всё равно анализируются. Если вы используете каналы данных и у вас есть агрегации в запросе поиска,
processed_record_count— это количество обработанных результатов агрегации, а не количество документов Elasticsearch. -
data.sparse_buckets,dsb,dataSparseBuckets - Количество ведер, которые содержали мало точек данных по сравнению с ожидаемым количеством точек данных. Если ваши данные содержат много разреженных ведер, рассмотрите возможность использования более длинного
bucket_span. -
forecasts.memory.avg,fmavg,forecastsMemoryAvg - Среднее использование памяти в байтах для прогнозов, связанных с задачей обнаружения аномалий.
-
forecasts.memory.max,fmmax,forecastsMemoryMax - Максимальное использование памяти в байтах для прогнозов, связанных с задачей обнаружения аномалий.
-
forecasts.memory.min,fmmin,forecastsMemoryMin - Минимальное использование памяти в байтах для прогнозов, связанных с задачей обнаружения аномалий.
-
forecasts.memory.total,fmt,forecastsMemoryTotal - Общее использование памяти в байтах для прогнозов, связанных с задачей обнаружения аномалий.
-
forecasts.records.avg,fravg,forecastsRecordsAvg - Среднее количество
model_forecastдокументов, записанных для прогнозов, связанных с задачей обнаружения аномалий. -
forecasts.records.max,frmax,forecastsRecordsMax - Максимальное количество
model_forecastдокументов, записанных для прогнозов, связанных с задачей обнаружения аномалий. -
forecasts.records.min,frmin,forecastsRecordsMin - Минимальное количество
model_forecastдокументов, записанных для прогнозов, связанных с задачей обнаружения аномалий. -
forecasts.records.total,frt,forecastsRecordsTotal - Общее количество
model_forecastдокументов, записанных для прогнозов, связанных с задачей обнаружения аномалий. -
forecasts.time.avg,ftavg,forecastsTimeAvg - Среднее время выполнения в миллисекундах для прогнозов, связанных с задачей обнаружения аномалий.
-
forecasts.time.max,ftmax,forecastsTimeMax - Максимальное время выполнения в миллисекундах для прогнозов, связанных с задачей обнаружения аномалий.
-
forecasts.time.min,ftmin,forecastsTimeMin - Минимальное время выполнения в миллисекундах для прогнозов, связанных с задачей обнаружения аномалий.
-
forecasts.time.total,ftt,forecastsTimeTotal - Общее время выполнения в миллисекундах для прогнозов, связанных с задачей обнаружения аномалий.
-
forecasts.total,ft,forecastsTotal - (По умолчанию) Количество отдельных прогнозов, в настоящее время доступных для задачи. Значение
1или больше указывает на существование прогнозов. -
id - (По умолчанию) Идентификатор задачи обнаружения аномалий.
-
model.bucket_allocation_failures,mbaf,modelBucketAllocationFailures - Количество ведер, для которых новые сущности в поступающих данных не обрабатывались из-за недостаточной памяти модели. Эта ситуация также обозначена значением свойства
hard_limit: memory_status. -
model.by_fields,mbf,modelByFields - Количество значений поля
by, которые были проанализированы моделями. Это значение является кумулятивным для всех детекторов в задаче. -
model.bytes,mb,modelBytes - (По умолчанию) Количество байтов памяти, используемых моделями. Это максимальное значение с момента последней сохранения модели. Если задача закрыта, это значение указывает на последний размер.
-
model.bytes_exceeded,mbe,modelBytesExceeded - Количество байтов, превышающих верхний предел использования памяти при последнем сбое выделения.
-
model.categorization_status,mcs,modelCategorizationStatus -
Статус категоризации для задачи. Содержит одно из следующих значений:
-
ok: Категоризация выполняется приемлемо (или вообще не используется). -
warn: Категоризация обнаруживает распределение категорий, которое предполагает, что входные данные непригодны для категоризации. Проблемы могут заключаться в том, что существует только одна категория, более 90% категорий являются редкими, количество категорий больше, чем 50% от количества категоризированных документов, нет часто встречающихся категорий, или более 50% категорий являются устаревшими.
-
-
model.categorized_doc_count,mcdc,modelCategorizedDocCount
-
- Количество документов, для которых было задано поле категорий.
-
model.dead_category_count,mdcc,modelDeadCategoryCount - Количество категорий, созданных в процессе категоризации, которые больше никогда не будут назначены, так как определение другой категории делает её супермножеством устаревшей категории. (Устаревшие категории — побочный эффект отсутствия предварительной подготовки в категоризации.)
-
model.failed_category_count,mdcc,modelFailedCategoryCount - Количество попыток создания новой категории в процессе категоризации, которые не удалось выполнить, так как задача достигла своего
model_memory_limit. Этот счётчик не отслеживает конкретные категории, которые не были созданы. Поэтому по этому значению нельзя определить количество уникальных пропущенных категорий. -
model.frequent_category_count,mfcc,modelFrequentCategoryCount - Количество категорий, которые соответствуют более чем 1% отсканированных документов.
-
model.log_time,mlt,modelLogTime - Отметка времени, когда были собраны статистические данные модели, по серверному времени.
-
model.memory_limit,mml,modelMemoryLimit - Максимальное ограничение использования памяти моделью, проверяемое при увеличении значений.
-
model.memory_status,mms,modelMemoryStatus -
(По умолчанию) Состояние математических моделей, которое может принимать одно из следующих значений:
-
ok: Модели оставались ниже настроенного значения. -
soft_limit: Модели использовали более 60% от установленного лимита памяти, и старые неиспользуемые модели будут удалены для освобождения места. Кроме того, в задачах категоризации больше не будут храниться примеры категорий. -
hard_limit: Модели использовали больше места, чем установленное ограничение памяти. В результате не все входящие данные были обработаны.
-
-
model.output_memory_allocator_bytes,momab,modelOutputMemoryAllocatorBytes - Объем памяти в байтах, используемый для вывода документов задачи обнаружения аномалий.
-
model.over_fields,mof,modelOverFields - Количество значений поля
over, проанализированных моделями. Это значение является кумулятивным для всех детекторов в задаче. -
model.partition_fields,mpf,modelPartitionFields - Количество значений поля
partition, проанализированных моделями. Это значение является кумулятивным для всех детекторов в задаче. -
model.rare_category_count,mrcc,modelRareCategoryCount - Количество категорий, которые соответствуют только одному отсканированному документу.
-
model.timestamp,mt,modelTimestamp - Отметка времени последнего записываемого момента, когда собиралась статистика модели.
-
model.total_category_count,mtcc,modelTotalCategoryCount - Количество созданных категорий в процессе категоризации.
-
node.address,na,nodeAddress -
Сетевой адрес узла.
Содержит свойства узла, на котором выполняется задача. Эта информация доступна только для открытых задач.
-
node.ephemeral_id,ne,nodeEphemeralId -
Эфемерный идентификатор узла.
Содержит свойства узла, на котором выполняется задача. Эта информация доступна только для открытых задач.
-
node.id,ni,nodeId -
Уникальный идентификатор узла.
Содержит свойства узла, на котором выполняется задача. Эта информация доступна только для открытых задач.
-
node.name,nn,nodeName -
Имя узла.
Содержит свойства узла, на котором выполняется задача. Эта информация доступна только для открытых задач.
-
opened_time,ot - Только для открытых задач, время, в течение которого задача оставалась открытой.
-
state,s -
(По умолчанию) Состояние задачи обнаружения аномалий, которое может принимать одно из следующих значений:
-
closed: Задача завершилась успешно, и её состояние модели сохранено. Задача должна быть открыта, прежде чем она сможет принять дополнительные данные. -
closing: Действие закрытия задачи выполняется и ещё не завершено. Закрытая задача не может принимать дополнительные данные. -
failed: Задача не завершилась успешно из-за ошибки. Это может произойти из-за некорректных входных данных, возникновения фатальной ошибки во время анализа или внешнего взаимодействия, например, завершения процесса из-за Linux-убийцы из-за недостатка памяти (OOM). Если задача безусловно потерпела неудачу, её необходимо принудительно закрыть и затем удалить. Если данные можно исправить, задачу можно закрыть, а затем снова открыть. -
opened: Задача готова принимать и обрабатывать данные. -
opening: Действие открытия задачи выполняется и ещё не завершено.
-
-
help - (Необязательно, булево) Если
true, ответ включает справочную информацию. По умолчаниюfalse. -
s - (Необязательно, строка) Список столбцов, разделённых запятыми, или псевдонимов столбцов, используемых для сортировки ответа.
-
time - (Необязательно, единицы измерения времени) Единица измерения для отображения значений времени.
-
v - (Необязательно, булево) Если
true, ответ включает заголовки столбцов. По умолчаниюfalse.
Примеры
resp = client.cat.ml_jobs(
h="id,s,dpr,mb",
v=True,
)
print(resp) response = client.cat.ml_jobs( h: 'id,s,dpr,mb', v: true ) puts response
const response = await client.cat.mlJobs({
h: "id,s,dpr,mb",
v: "true",
});
console.log(response); GET _cat/ml/anomaly_detectors?h=id,s,dpr,mb&v=true
id s dpr mb high_sum_total_sales closed 14022 1.5mb low_request_rate closed 1216 40.5kb response_code_rates closed 28146 132.7kb url_scanning closed 28146 501.6kb
© 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/cat-anomaly-detectors.html