cat 异常检测器 API
编辑cat 异常检测器 API编辑
cat API 仅供人类通过命令行或 Kibana 控制台使用。它们不适用于应用程序。对于应用程序使用,请使用 获取异常检测作业统计信息 API。
返回有关异常检测作业的配置和使用信息。
先决条件编辑
路径参数编辑
-
<job_id>
- (可选,字符串)异常检测作业的标识符。
查询参数编辑
-
allow_no_match
-
(可选,布尔值)指定在以下情况下该怎么做:
- 请求包含通配符表达式,并且没有匹配的作业。
- 包含
_all
字符串或没有标识符,并且没有匹配项。 - 包含通配符表达式,并且只有部分匹配。
默认值为
true
,当没有匹配项时返回空jobs
数组,当有部分匹配项时返回结果子集。如果此参数为false
,则当没有匹配项或只有部分匹配项时,请求将返回404
状态代码。 -
bytes
- (可选,字节大小单位)用于显示字节值的单位。
-
format
- (可选,字符串)HTTP 接受标头 的简短版本。有效值包括 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.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
-
节点的临时 ID。
包含运行作业的节点的属性。此信息仅适用于打开的作业。
-
node.id
、ni
、nodeId
-
节点的唯一标识符。
包含运行作业的节点的属性。此信息仅适用于打开的作业。
-
node.name
、nn
、nodeName
-
节点名称。
包含运行作业的节点的属性。此信息仅适用于打开的作业。
-
opened_time
、ot
- 仅适用于打开的作业,作业已打开的 elapsed 时间。
-
state
、s
-
(默认)异常检测作业的状态,可以是以下值之一
-
closed
:作业已成功完成,其模型状态已持久化。必须先打开作业,然后才能接受更多数据。 -
closing
:作业关闭操作正在进行中,尚未完成。正在关闭的作业无法接受更多数据。 -
failed
:由于错误,作业未成功完成。这种情况可能是由于输入数据无效、分析过程中发生致命错误或外部交互(例如进程被 Linux 内存不足 (OOM) 终止程序终止)造成的。如果作业已不可恢复地失败,则必须强制关闭该作业,然后将其删除。如果可以更正数据馈送,则可以关闭作业,然后重新打开。 -
opened
:作业可用于接收和处理数据。 -
opening
:作业打开操作正在进行中,尚未完成。
-
-
-
help
- (可选,布尔值)如果为
true
,则响应包含帮助信息。默认为false
。 -
s
- (可选,字符串)用于对响应进行排序的列名或列别名的逗号分隔列表。
-
time
- (可选,时间单位)用于显示时间值的单位。
-
v
- (可选,布尔值)如果为
true
,则响应包含列标题。默认为false
。
示例编辑
response = client.cat.ml_jobs( h: 'id,s,dpr,mb', v: true ) puts 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