获取数据馈送统计信息 API编辑

检索数据馈送的使用情况信息。

请求编辑

GET _ml/datafeeds/<feed_id>/_stats

GET _ml/datafeeds/<feed_id>,<feed_id>/_stats

GET _ml/datafeeds/_stats

GET _ml/datafeeds/_all/_stats

先决条件编辑

需要 monitor_ml 集群权限。此权限包含在 machine_learning_user 内置角色中。

描述编辑

如果数据馈送已停止,则您只会收到 datafeed_idstate 信息。

此 API 最多返回 10,000 个数据馈送。

路径参数编辑

<feed_id>

(可选,字符串)数据馈送的标识符。它可以是数据馈送标识符或通配符表达式。

您可以通过使用逗号分隔的数据馈送列表或通配符表达式,在单个 API 请求中获取多个数据馈送的统计信息。您可以通过使用 _all、指定 * 作为数据馈送标识符或省略标识符来获取所有数据馈送的统计信息。

查询参数编辑

allow_no_match

(可选,布尔值)指定当请求

  • 包含通配符表达式,并且没有匹配的数据馈送时该怎么做。
  • 包含 _all 字符串或没有标识符,并且没有匹配项时该怎么做。
  • 包含通配符表达式,并且只有部分匹配项时该怎么做。

默认值为 true,当没有匹配项时返回一个空的 datafeeds 数组,当有部分匹配项时返回结果的子集。如果此参数为 false,则当没有匹配项或只有部分匹配项时,请求将返回 404 状态代码。

响应正文编辑

API 返回一个数据馈送计数对象数组。所有这些属性均为信息性属性;您无法更新它们的值。

assignment_explanation
(字符串)仅针对已启动的数据馈送,包含与节点选择相关的消息。
datafeed_id
(字符串)唯一标识数据馈送的数字字符串。此标识符可以包含小写字母数字字符(a-z 和 0-9)、连字符和下划线。它必须以字母数字字符开头和结尾。
node

(对象)仅针对已启动的数据馈送,此信息与启动数据馈送的节点有关。

详细信息
attributes
(对象)列出节点属性,例如 ml.machine_memoryml.max_open_jobs 设置。
ephemeral_id
(字符串)节点的临时 ID。
id
(字符串)节点的唯一标识符。
name
(字符串)节点名称。例如,0-o0tOo
transport_address
(字符串)接受传输 HTTP 连接的主机和端口。
running_state

(对象)包含此数据馈送的运行状态的对象。仅在数据馈送启动时提供。

详细信息
real_time_configured
(布尔值)指示数据馈送是否为“实时”;这意味着数据馈送没有配置的 end 时间。
real_time_running
(布尔值)指示数据馈送是否已完成对可用过去数据的运行。对于没有配置的 end 时间的数据馈送,这意味着数据馈送现在正在“实时”数据上运行。
search_interval

(可选,对象)提供数据馈送已搜索的最新时间间隔。

详细信息
start_ms
开始时间(以毫秒为单位的纪元)。
end_ms
结束时间(以毫秒为单位的纪元)。
state

(字符串)数据馈送的状态,可以是以下值之一

  • starting:已请求数据馈送启动,但尚未启动。
  • started:数据馈送正在积极接收数据。
  • stopping:已请求数据馈送正常停止,并且正在完成其最终操作。
  • stopped:数据馈送已停止,在重新启动之前不会接收数据。
timing_stats

(对象)提供有关此数据馈送的计时方面的统计信息的 对象。

详细信息
average_search_time_per_bucket_ms
(双精度)每个存储桶的平均搜索时间(以毫秒为单位)。
bucket_count
(长整型)已处理的存储桶数。
exponential_average_search_time_per_hour_ms
(双精度)每小时的指数平均搜索时间(以毫秒为单位)。
job_id
异常检测作业的标识符。
search_count
数据馈送运行的搜索次数。
total_search_time_ms
数据馈送花费在搜索上的总时间(以毫秒为单位)。

响应代码编辑

404(缺少资源)
如果 allow_no_matchfalse,则此代码表示没有与请求匹配的资源,或者只有部分匹配请求的资源。

示例编辑

response = client.ml.get_datafeed_stats(
  datafeed_id: 'datafeed-high_sum_total_sales'
)
puts response
GET _ml/datafeeds/datafeed-high_sum_total_sales/_stats

API 返回以下结果

{
  "count" : 1,
  "datafeeds" : [
    {
      "datafeed_id" : "datafeed-high_sum_total_sales",
      "state" : "started",
      "node" : {
        "id" : "7bmMXyWCRs-TuPfGJJ_yMw",
        "name" : "node-0",
        "ephemeral_id" : "hoXMLZB0RWKfR9UPPUCxXX",
        "transport_address" : "127.0.0.1:9300",
        "attributes" : {
          "ml.machine_memory" : "17179869184",
          "ml.max_open_jobs" : "512"
        }
      },
      "assignment_explanation" : "",
      "timing_stats" : {
        "job_id" : "high_sum_total_sales",
        "search_count" : 7,
        "bucket_count" : 743,
        "total_search_time_ms" : 134.0,
        "average_search_time_per_bucket_ms" : 0.180349932705249,
        "exponential_average_search_time_per_hour_ms" : 11.514712961628677
      }
    }
  ]
}