166 lines
5.0 KiB
Plaintext
166 lines
5.0 KiB
Plaintext
[role="xpack"]
|
|
[testenv="platinum"]
|
|
[[ml-get-datafeed-stats]]
|
|
=== Get {dfeed} statistics API
|
|
|
|
[subs="attributes"]
|
|
++++
|
|
<titleabbrev>Get {dfeed} statistics</titleabbrev>
|
|
++++
|
|
|
|
Retrieves usage information for {dfeeds}.
|
|
|
|
[[ml-get-datafeed-stats-request]]
|
|
==== {api-request-title}
|
|
|
|
`GET _ml/datafeeds/<feed_id>/_stats` +
|
|
|
|
`GET _ml/datafeeds/<feed_id>,<feed_id>/_stats` +
|
|
|
|
`GET _ml/datafeeds/_stats` +
|
|
|
|
`GET _ml/datafeeds/_all/_stats`
|
|
|
|
[[ml-get-datafeed-stats-prereqs]]
|
|
==== {api-prereq-title}
|
|
|
|
* If the {es} {security-features} are enabled, you must have `monitor_ml`,
|
|
`monitor`, `manage_ml`, or `manage` cluster privileges to use this API. See
|
|
<<security-privileges>>.
|
|
|
|
[[ml-get-datafeed-stats-desc]]
|
|
==== {api-description-title}
|
|
|
|
You can get statistics for multiple {dfeeds} in a single API request by using a
|
|
comma-separated list of {dfeeds} or a wildcard expression. You can get
|
|
statistics for all {dfeeds} by using `_all`, by specifying `*` as the
|
|
`<feed_id>`, or by omitting the `<feed_id>`.
|
|
|
|
If the {dfeed} is stopped, the only information you receive is the
|
|
`datafeed_id` and the `state`.
|
|
|
|
IMPORTANT: This API returns a maximum of 10,000 {dfeeds}.
|
|
|
|
[[ml-get-datafeed-stats-path-parms]]
|
|
==== {api-path-parms-title}
|
|
|
|
`<feed_id>`::
|
|
(Optional, string)
|
|
include::{docdir}/ml/ml-shared.asciidoc[tag=datafeed-id-wildcard]
|
|
+
|
|
--
|
|
If you do not specify one of these options, the API returns information about
|
|
all {dfeeds}.
|
|
--
|
|
|
|
[[ml-get-datafeed-stats-query-parms]]
|
|
==== {api-query-parms-title}
|
|
|
|
`allow_no_datafeeds`::
|
|
(Optional, boolean)
|
|
include::{docdir}/ml/ml-shared.asciidoc[tag=allow-no-datafeeds]
|
|
|
|
[[ml-get-datafeed-stats-results]]
|
|
==== {api-response-body-title}
|
|
|
|
The API returns an array of {dfeed} count objects. All of these properties are
|
|
informational; you cannot update their values.
|
|
|
|
`assignment_explanation`::
|
|
(string) For started {dfeeds} only, contains messages relating to the selection
|
|
of a node.
|
|
|
|
`datafeed_id`::
|
|
(string)
|
|
include::{docdir}/ml/ml-shared.asciidoc[tag=datafeed-id]
|
|
|
|
`node`::
|
|
(object) The node upon which the {dfeed} is started. The {dfeed} and job will be
|
|
on the same node.
|
|
`node`.`id`::: The unique identifier of the node. For example,
|
|
`0-o0tOoRTwKFZifatTWKNw`.
|
|
`node`.`name`::: The node name. For example, `0-o0tOo`.
|
|
`node`.`ephemeral_id`::: The node ephemeral ID.
|
|
`node`.`transport_address`::: The host and port where transport HTTP connections
|
|
are accepted. For example, `127.0.0.1:9300`.
|
|
`node`.`attributes`::: For example, `{"ml.machine_memory": "17179869184"}`.
|
|
|
|
`state`::
|
|
(string) The status of the {dfeed}, which can be one of the following values:
|
|
+
|
|
--
|
|
* `started`::: The {dfeed} is actively receiving data.
|
|
* `stopped`::: The {dfeed} is stopped and will not receive data until it is
|
|
re-started.
|
|
--
|
|
|
|
`timing_stats`::
|
|
(object) An object that provides statistical information about timing aspect of
|
|
this {dfeed}.
|
|
`timing_stats`.`average_search_time_per_bucket_ms`:::
|
|
(double) Average of the {dfeed} search times in milliseconds.
|
|
`timing_stats`.`bucket_count`:::
|
|
(long) The number of buckets processed.
|
|
`timing_stats`.`exponential_average_search_time_per_hour_ms`:::
|
|
(double) Exponential moving average of the {dfeed} search times in milliseconds.
|
|
`timing_stats`.`job_id`:::
|
|
include::{docdir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]
|
|
`timing_stats`.`search_count`::: Number of searches performed by this {dfeed}.
|
|
`timing_stats`.`total_search_time_ms`::: Total time the {dfeed} spent searching
|
|
in milliseconds.
|
|
|
|
[[ml-get-datafeed-stats-response-codes]]
|
|
==== {api-response-codes-title}
|
|
|
|
`404` (Missing resources)::
|
|
If `allow_no_datafeeds` is `false`, this code indicates that there are no
|
|
resources that match the request or only partial matches for the request.
|
|
|
|
[[ml-get-datafeed-stats-example]]
|
|
==== {api-examples-title}
|
|
|
|
[source,console]
|
|
--------------------------------------------------
|
|
GET _ml/datafeeds/datafeed-high_sum_total_sales/_stats
|
|
--------------------------------------------------
|
|
// TEST[skip:Kibana sample data started datafeed]
|
|
|
|
The API returns the following results:
|
|
|
|
[source,console-result]
|
|
----
|
|
{
|
|
"count": 1,
|
|
"datafeeds": [
|
|
{
|
|
"datafeed_id": "datafeed-high_sum_total_sales",
|
|
"state": "started",
|
|
"node": {
|
|
"id": "2spCyo1pRi2Ajo-j-_dnPX",
|
|
"name": "node-0",
|
|
"ephemeral_id": "hoXMLZB0RWKfR9UPPUCxXX",
|
|
"transport_address": "127.0.0.1:9300",
|
|
"attributes": {
|
|
"ml.machine_memory": "17179869184",
|
|
"ml.max_open_jobs": "20"
|
|
}
|
|
},
|
|
"assignment_explanation": "",
|
|
"timing_stats": {
|
|
"job_id" : "high_sum_total_sales",
|
|
"search_count" : 27,
|
|
"bucket_count" : 619,
|
|
"total_search_time_ms" : 296.0,
|
|
"average_search_time_per_bucket_ms" : 0.4781906300484653,
|
|
"exponential_average_search_time_per_hour_ms" : 33.28246548059884
|
|
}
|
|
}
|
|
]
|
|
}
|
|
----
|
|
// TESTRESPONSE[s/"2spCyo1pRi2Ajo-j-_dnPX"/$body.$_path/]
|
|
// TESTRESPONSE[s/"node-0"/$body.$_path/]
|
|
// TESTRESPONSE[s/"hoXMLZB0RWKfR9UPPUCxXX"/$body.$_path/]
|
|
// TESTRESPONSE[s/"127.0.0.1:9300"/$body.$_path/]
|
|
// TESTRESPONSE[s/"17179869184"/$body.datafeeds.0.node.attributes.ml\\.machine_memory/]
|