123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- [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) For started {dfeeds} only, 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}.
- //average_search_time_per_bucket_ms
- //bucket_count
- //exponential_average_search_time_per_hour_ms
- `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" : "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" : "20"
- }
- },
- "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
- }
- }
- ]
- }
- ----
- // TESTRESPONSE[s/"7bmMXyWCRs-TuPfGJJ_yMw"/$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/]
|