获取桶 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
-
(日期)桶的开始时间。此时间戳唯一标识桶。
在桶的时间戳精确发生的事件包含在桶的结果中。
示例
编辑resp = client.ml.get_buckets( job_id="low_request_rate", anomaly_score=80, start="1454530200001", ) print(resp)
response = client.ml.get_buckets( job_id: 'low_request_rate', body: { anomaly_score: 80, start: '1454530200001' } ) puts response
const response = await client.ml.getBuckets({ job_id: "low_request_rate", anomaly_score: 80, start: 1454530200001, }); console.log(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" } ] }