获取桶 API
编辑获取桶 API编辑
检索一个或多个桶的异常检测作业结果。
请求编辑
GET _ml/anomaly_detectors/<job_id>/results/buckets
GET _ml/anomaly_detectors/<job_id>/results/buckets/<timestamp>
先决条件编辑
需要 monitor_ml
集群权限。此权限包含在 machine_learning_user
内置角色中。
描述编辑
获取桶 API 以时间顺序显示记录,按桶分组。
路径参数编辑
-
<job_id>
- (必需,字符串) 异常检测作业的标识符。
-
<timestamp>
- (可选,字符串) 单个桶结果的时间戳。如果未指定此参数,则 API 将返回有关所有桶的信息。
查询参数编辑
-
anomaly_score
- (可选,双精度) 返回异常分数大于或等于此值的桶。默认为
0.0
。 -
desc
- (可选,布尔值) 如果为 true,则桶按降序排序。默认为
false
。 -
end
- (可选,字符串) 返回时间戳早于此时间的桶。默认为
-1
,这意味着它未设置,结果不会限制到特定时间戳。 -
exclude_interim
- (可选,布尔值) 如果为
true
,则输出将排除中间结果。默认为false
,这意味着将包括中间结果。 -
expand
- (可选,布尔值) 如果为 true,则输出将包括异常记录。默认为
false
。 -
from
- (可选,整数) 跳过指定数量的桶。默认为
0
。 -
size
- (可选,整数) 指定要获取的桶的最大数量。默认为
100
。 -
sort
- (可选,字符串) 指定请求桶的排序字段。默认情况下,桶按
timestamp
字段排序。 -
start
- (可选,字符串) 返回时间戳晚于此时间的桶。默认为
-1
,这意味着它未设置,结果不会限制到特定时间戳。
请求正文编辑
您也可以在请求正文中指定查询参数;例外情况是 from
和 size
,请使用 page
代替
-
page
-
page
的属性-
from
- (可选,整数) 跳过指定数量的桶。默认为
0
。 -
size
- (可选,整数) 指定要获取的桶的最大数量。默认为
100
。
-
响应正文编辑
API 返回一个桶对象数组,这些对象具有以下属性
-
anomaly_score
- (数字) 任何桶影响因素的最大异常分数,介于 0-100 之间。这是作业的整体限速分数。桶中的所有异常记录都会影响此分数。此值可能会随着分析新数据而更新。
-
bucket_influencers
-
(数组) 桶影响因素对象的数组。
bucket_influencers
的属性-
anomaly_score
- (数字) 介于 0-100 之间的归一化分数,它是为每个桶影响因素计算的。此分数可能会随着分析更新的数据而更新。
-
bucket_span
- (数字) 桶的长度(以秒为单位)。此值与作业中指定的
bucket_span
相匹配。 -
influencer_field_name
- (字符串) 影响因素的字段名称。
-
initial_anomaly_score
- (数字) 每个桶影响因素的分数,介于 0-100 之间。此分数是在处理桶时计算的初始值。
-
is_interim
- (布尔值) 如果为
true
,则这是一个中间结果。换句话说,结果是根据部分输入数据计算的。 -
job_id
- (字符串) 异常检测作业的标识符。
-
probability
- (数字) 桶具有此行为的概率,范围为 0 到 1。此值可以保留超过 300 位小数的精度,因此提供
anomaly_score
作为此值的易于理解的友好解释。 -
raw_anomaly_score
- (数字) 内部。
-
result_type
- (字符串) 内部。此值始终设置为
bucket_influencer
。 -
timestamp
- (日期) 为其计算这些结果的桶的开始时间。
-
-
bucket_span
- (数字) 桶的长度(以秒为单位)。此值与作业中指定的
bucket_span
相匹配。 -
event_count
- (数字) 此桶中处理的输入数据记录数量。
-
initial_anomaly_score
- (数字) 任何桶影响因素的最大
anomaly_score
。这是在处理桶时计算的初始值。 -
is_interim
- (布尔值) 如果为
true
,则这是一个中间结果。换句话说,结果是根据部分输入数据计算的。 -
job_id
- (字符串) 异常检测作业的标识符。
-
processing_time_ms
- (数字) 分析桶内容并计算结果所花费的时间(以毫秒为单位)。
-
result_type
- (字符串) 内部。此值始终设置为
bucket
。 -
timestamp
-
(日期) 桶的开始时间。此时间戳唯一标识桶。
在桶的时间戳处发生的事件将包含在桶的结果中。
示例编辑
response = client.ml.get_buckets( job_id: 'low_request_rate', body: { anomaly_score: 80, start: '1454530200001' } ) puts response
GET _ml/anomaly_detectors/low_request_rate/results/buckets { "anomaly_score": 80, "start": "1454530200001" }
在此示例中,API 返回一个与指定分数和时间约束匹配的单个结果
{ "count" : 1, "buckets" : [ { "job_id" : "low_request_rate", "timestamp" : 1578398400000, "anomaly_score" : 91.58505459594764, "bucket_span" : 3600, "initial_anomaly_score" : 91.58505459594764, "event_count" : 0, "is_interim" : false, "bucket_influencers" : [ { "job_id" : "low_request_rate", "result_type" : "bucket_influencer", "influencer_field_name" : "bucket_time", "initial_anomaly_score" : 91.58505459594764, "anomaly_score" : 91.58505459594764, "raw_anomaly_score" : 0.5758246639716365, "probability" : 1.7340849573442696E-4, "timestamp" : 1578398400000, "bucket_span" : 3600, "is_interim" : false } ], "processing_time_ms" : 0, "result_type" : "bucket" } ] }