2020-02-21 01:25:57 +08:00
|
|
|
[role="xpack"]
|
|
|
|
[testenv="basic"]
|
|
|
|
[[usage-api]]
|
|
|
|
== Usage API
|
|
|
|
|
|
|
|
Provides usage information about the installed {xpack} features.
|
|
|
|
|
|
|
|
[discrete]
|
|
|
|
[[usage-api-request]]
|
|
|
|
=== {api-request-title}
|
|
|
|
|
|
|
|
`GET /_xpack/usage`
|
|
|
|
|
2021-01-27 22:06:06 +08:00
|
|
|
[discrete]
|
|
|
|
[[usage-api-prereqs]]
|
|
|
|
=== {api-prereq-title}
|
|
|
|
|
|
|
|
* If the {es} {security-features} are enabled, you must have the `monitor` or
|
|
|
|
`manage` <<privileges-list-cluster,cluster privilege>> to use this API.
|
|
|
|
|
2020-02-21 01:25:57 +08:00
|
|
|
[discrete]
|
|
|
|
[[usage-api-desc]]
|
|
|
|
=== {api-description-title}
|
|
|
|
|
|
|
|
This API provides information about which features are currently enabled and
|
2020-04-14 01:16:12 +08:00
|
|
|
available under the current license and some usage statistics.
|
2020-02-21 01:25:57 +08:00
|
|
|
|
|
|
|
[discrete]
|
|
|
|
[[usage-api-query-parms]]
|
|
|
|
=== {api-query-parms-title}
|
|
|
|
|
2020-06-02 06:55:05 +08:00
|
|
|
include::{es-repo-dir}/rest-api/common-parms.asciidoc[tag=master-timeout]
|
2020-02-21 01:25:57 +08:00
|
|
|
|
|
|
|
[discrete]
|
|
|
|
[[usage-api-example]]
|
|
|
|
=== {api-examples-title}
|
|
|
|
|
|
|
|
[source,console]
|
|
|
|
------------------------------------------------------------
|
|
|
|
GET /_xpack/usage
|
|
|
|
------------------------------------------------------------
|
2021-02-10 00:24:14 +08:00
|
|
|
// TEST[s/usage/usage?filter_path=-watcher.execution.actions.logging*/]
|
|
|
|
// This response filter removes watcher logging results if they are included
|
|
|
|
// to avoid errors in the CI builds.
|
2020-02-21 01:25:57 +08:00
|
|
|
|
|
|
|
[source,console-result]
|
|
|
|
------------------------------------------------------------
|
|
|
|
{
|
|
|
|
"security" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : false,
|
|
|
|
"ssl" : {
|
|
|
|
"http" : {
|
|
|
|
"enabled" : false
|
|
|
|
},
|
|
|
|
"transport" : {
|
|
|
|
"enabled" : false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"monitoring" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true,
|
|
|
|
"collection_enabled" : false,
|
|
|
|
"enabled_exporters" : {
|
|
|
|
"local" : 1
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"watcher" : {
|
2021-01-28 05:42:22 +08:00
|
|
|
"available" : true,
|
|
|
|
"enabled" : true,
|
|
|
|
"execution" : {
|
|
|
|
"actions" : {
|
|
|
|
"_all" : {
|
|
|
|
"total" : 0,
|
|
|
|
"total_time_in_ms" : 0
|
|
|
|
}
|
2020-02-21 01:25:57 +08:00
|
|
|
}
|
2021-01-28 05:42:22 +08:00
|
|
|
},
|
2020-02-21 01:25:57 +08:00
|
|
|
"watch" : {
|
|
|
|
"input" : {
|
|
|
|
"_all" : {
|
|
|
|
"total" : 0,
|
|
|
|
"active" : 0
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"trigger" : {
|
|
|
|
"_all" : {
|
|
|
|
"total" : 0,
|
|
|
|
"active" : 0
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"count" : {
|
|
|
|
"total" : 0,
|
|
|
|
"active" : 0
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"graph" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true
|
|
|
|
},
|
|
|
|
"ml" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true,
|
|
|
|
"jobs" : {
|
|
|
|
"_all" : {
|
|
|
|
"count" : 0,
|
|
|
|
"detectors" : {
|
|
|
|
...
|
|
|
|
},
|
|
|
|
"created_by" : { },
|
|
|
|
"model_size" : {
|
|
|
|
...
|
|
|
|
},
|
|
|
|
"forecasts" : {
|
|
|
|
"total" : 0,
|
|
|
|
"forecasted_jobs" : 0
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"datafeeds" : {
|
|
|
|
"_all" : {
|
|
|
|
"count" : 0
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"data_frame_analytics_jobs" : {
|
|
|
|
"_all" : {
|
|
|
|
"count" : 0
|
2021-02-24 21:45:26 +08:00
|
|
|
},
|
|
|
|
"analysis_counts": { },
|
|
|
|
"memory_usage": {
|
|
|
|
"peak_usage_bytes": {
|
|
|
|
"min": 0.0,
|
|
|
|
"max": 0.0,
|
|
|
|
"avg": 0.0,
|
|
|
|
"total": 0.0
|
|
|
|
}
|
2020-02-21 01:25:57 +08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
"inference" : {
|
|
|
|
"ingest_processors" : {
|
|
|
|
"_all" : {
|
|
|
|
"num_docs_processed" : {
|
|
|
|
"max" : 0,
|
|
|
|
"sum" : 0,
|
|
|
|
"min" : 0
|
|
|
|
},
|
|
|
|
"pipelines" : {
|
|
|
|
"count" : 0
|
|
|
|
},
|
|
|
|
"num_failures" : {
|
|
|
|
"max" : 0,
|
|
|
|
"sum" : 0,
|
|
|
|
"min" : 0
|
|
|
|
},
|
|
|
|
"time_ms" : {
|
|
|
|
"max" : 0,
|
|
|
|
"sum" : 0,
|
|
|
|
"min" : 0
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"trained_models" : {
|
|
|
|
"_all" : {
|
|
|
|
"count" : 0
|
2021-02-24 21:45:26 +08:00
|
|
|
},
|
|
|
|
"count": {
|
|
|
|
"total": 1,
|
|
|
|
"classification": 0,
|
|
|
|
"regression": 0,
|
|
|
|
"prepackaged": 1,
|
|
|
|
"other": 0
|
|
|
|
},
|
|
|
|
"estimated_heap_memory_usage_bytes": {
|
|
|
|
"min": 0.0,
|
|
|
|
"max": 0.0,
|
|
|
|
"avg": 0.0,
|
|
|
|
"total": 0.0
|
|
|
|
},
|
|
|
|
"estimated_operations": {
|
|
|
|
"min": 0.0,
|
|
|
|
"max": 0.0,
|
|
|
|
"avg": 0.0,
|
|
|
|
"total": 0.0
|
2020-02-21 01:25:57 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"node_count" : 1
|
|
|
|
},
|
|
|
|
"logstash" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true
|
|
|
|
},
|
|
|
|
"eql" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true
|
|
|
|
},
|
|
|
|
"sql" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true,
|
|
|
|
"features" : {
|
|
|
|
"having" : 0,
|
|
|
|
"subselect" : 0,
|
|
|
|
"limit" : 0,
|
|
|
|
"orderby" : 0,
|
|
|
|
"where" : 0,
|
|
|
|
"join" : 0,
|
|
|
|
"groupby" : 0,
|
|
|
|
"command" : 0,
|
|
|
|
"local" : 0
|
|
|
|
},
|
|
|
|
"queries" : {
|
|
|
|
"rest" : {
|
|
|
|
"total" : 0,
|
|
|
|
"paging" : 0,
|
|
|
|
"failed" : 0
|
|
|
|
},
|
|
|
|
"cli" : {
|
|
|
|
"total" : 0,
|
|
|
|
"paging" : 0,
|
|
|
|
"failed" : 0
|
|
|
|
},
|
|
|
|
"canvas" : {
|
|
|
|
"total" : 0,
|
|
|
|
"paging" : 0,
|
|
|
|
"failed" : 0
|
|
|
|
},
|
|
|
|
"odbc" : {
|
|
|
|
"total" : 0,
|
|
|
|
"paging" : 0,
|
|
|
|
"failed" : 0
|
|
|
|
},
|
|
|
|
"jdbc" : {
|
|
|
|
"total" : 0,
|
|
|
|
"paging" : 0,
|
|
|
|
"failed" : 0
|
|
|
|
},
|
|
|
|
"odbc32" : {
|
|
|
|
"total" : 0,
|
|
|
|
"paging" : 0,
|
|
|
|
"failed" : 0
|
|
|
|
},
|
|
|
|
"odbc64" : {
|
|
|
|
"total" : 0,
|
|
|
|
"paging" : 0,
|
|
|
|
"failed" : 0
|
|
|
|
},
|
|
|
|
"_all" : {
|
|
|
|
"total" : 0,
|
|
|
|
"paging" : 0,
|
|
|
|
"failed" : 0
|
|
|
|
},
|
|
|
|
"translate" : {
|
|
|
|
"count" : 0
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"rollup" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true
|
|
|
|
},
|
|
|
|
"ilm" : {
|
|
|
|
"policy_count" : 3,
|
|
|
|
"policy_stats" : [
|
|
|
|
...
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"slm" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true
|
|
|
|
},
|
|
|
|
"ccr" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true,
|
|
|
|
"follower_indices_count" : 0,
|
|
|
|
"auto_follow_patterns_count" : 0
|
|
|
|
},
|
|
|
|
"transform" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true
|
|
|
|
},
|
|
|
|
"vectors" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true,
|
|
|
|
"dense_vector_fields_count" : 0,
|
|
|
|
"dense_vector_dims_avg_count" : 0
|
|
|
|
},
|
|
|
|
"voting_only" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true
|
|
|
|
},
|
2020-07-07 16:41:42 +08:00
|
|
|
"searchable_snapshots" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true,
|
2021-03-17 01:02:34 +08:00
|
|
|
"indices_count" : 0,
|
|
|
|
"full_copy_indices_count" : 0,
|
|
|
|
"shared_cache_indices_count" : 0
|
2020-07-07 16:41:42 +08:00
|
|
|
},
|
2020-02-21 01:25:57 +08:00
|
|
|
"frozen_indices" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true,
|
|
|
|
"indices_count" : 0
|
|
|
|
},
|
|
|
|
"spatial" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true
|
|
|
|
},
|
|
|
|
"analytics" : {
|
|
|
|
"available" : true,
|
2020-04-14 01:16:12 +08:00
|
|
|
"enabled" : true,
|
|
|
|
"stats": {
|
|
|
|
"boxplot_usage" : 0,
|
|
|
|
"top_metrics_usage" : 0,
|
2020-05-15 04:32:42 +08:00
|
|
|
"normalize_usage" : 0,
|
2020-04-14 01:16:12 +08:00
|
|
|
"cumulative_cardinality_usage" : 0,
|
|
|
|
"t_test_usage" : 0,
|
2020-08-25 23:32:20 +08:00
|
|
|
"rate_usage" : 0,
|
2020-05-12 16:30:52 +08:00
|
|
|
"string_stats_usage" : 0,
|
2021-02-04 02:13:33 +08:00
|
|
|
"moving_percentiles_usage" : 0,
|
|
|
|
"multi_terms_usage" : 0
|
2020-04-14 01:16:12 +08:00
|
|
|
}
|
2020-07-14 02:12:22 +08:00
|
|
|
},
|
|
|
|
"data_streams" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true,
|
|
|
|
"data_streams" : 0,
|
|
|
|
"indices_count" : 0
|
Add telemetry for data tiers (#63031)
This commit adds telemetry for our data tier formalization. This telemetry helps determine the
topology of the cluster with regard to the content, hot, warm, & cold tiers/roles.
An example of the telemetry looks like:
```
GET /_xpack/usage?human
{
...
"data_tiers" : {
"available" : true,
"enabled" : true,
"data_warm" : {
...
},
"data_cold" : {
...
},
"data_content" : {
"node_count" : 1,
"index_count" : 6,
"total_shard_count" : 6,
"primary_shard_count" : 6,
"doc_count" : 71,
"total_size" : "59.6kb",
"total_size_bytes" : 61110,
"primary_size" : "59.6kb",
"primary_size_bytes" : 61110,
"primary_shard_size_avg" : "9.9kb",
"primary_shard_size_avg_bytes" : 10185,
"primary_shard_size_median" : "8kb",
"primary_shard_size_median_bytes" : 8254,
"primary_shard_size_mad" : "7.2kb",
"primary_shard_size_mad_bytes" : 7391
},
"data_hot" : {
...
}
}
}
```
The fields are as follows:
- node_count :: number of nodes with this tier/role
- index_count :: number of indices on this tier
- total_shard_count :: total number of shards for all nodes in this tier
- primary_shard_count :: number of primary shards for all nodes in this tier
- doc_count :: number of documents for all nodes in this tier
- total_size_bytes :: total number of bytes for all shards for all nodes in this tier
- primary_size_bytes :: number of bytes for all primary shards on all nodes in this tier
- primary_shard_size_avg_bytes :: average shard size for primary shard in this tier
- primary_shard_size_median_bytes :: median shard size for primary shard in this tier
- primary_shard_size_mad_bytes :: [median absolute deviation](https://en.wikipedia.org/wiki/Median_absolute_deviation) of shard size for primary shard in this tier
Relates to #60848
2020-10-01 22:35:10 +08:00
|
|
|
},
|
|
|
|
"data_tiers" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true,
|
|
|
|
"data_warm" : {
|
|
|
|
"node_count" : 0,
|
|
|
|
"index_count" : 0,
|
|
|
|
"total_shard_count" : 0,
|
|
|
|
"primary_shard_count" : 0,
|
|
|
|
"doc_count" : 0,
|
|
|
|
"total_size_bytes" : 0,
|
|
|
|
"primary_size_bytes" : 0,
|
|
|
|
"primary_shard_size_avg_bytes" : 0,
|
|
|
|
"primary_shard_size_median_bytes" : 0,
|
|
|
|
"primary_shard_size_mad_bytes" : 0
|
|
|
|
},
|
2021-02-06 05:38:13 +08:00
|
|
|
"data_frozen" : {
|
|
|
|
"node_count" : 1,
|
|
|
|
"index_count" : 0,
|
|
|
|
"total_shard_count" : 0,
|
|
|
|
"primary_shard_count" : 0,
|
|
|
|
"doc_count" : 0,
|
|
|
|
"total_size_bytes" : 0,
|
|
|
|
"primary_size_bytes" : 0,
|
|
|
|
"primary_shard_size_avg_bytes" : 0,
|
|
|
|
"primary_shard_size_median_bytes" : 0,
|
|
|
|
"primary_shard_size_mad_bytes" : 0
|
|
|
|
},
|
Add telemetry for data tiers (#63031)
This commit adds telemetry for our data tier formalization. This telemetry helps determine the
topology of the cluster with regard to the content, hot, warm, & cold tiers/roles.
An example of the telemetry looks like:
```
GET /_xpack/usage?human
{
...
"data_tiers" : {
"available" : true,
"enabled" : true,
"data_warm" : {
...
},
"data_cold" : {
...
},
"data_content" : {
"node_count" : 1,
"index_count" : 6,
"total_shard_count" : 6,
"primary_shard_count" : 6,
"doc_count" : 71,
"total_size" : "59.6kb",
"total_size_bytes" : 61110,
"primary_size" : "59.6kb",
"primary_size_bytes" : 61110,
"primary_shard_size_avg" : "9.9kb",
"primary_shard_size_avg_bytes" : 10185,
"primary_shard_size_median" : "8kb",
"primary_shard_size_median_bytes" : 8254,
"primary_shard_size_mad" : "7.2kb",
"primary_shard_size_mad_bytes" : 7391
},
"data_hot" : {
...
}
}
}
```
The fields are as follows:
- node_count :: number of nodes with this tier/role
- index_count :: number of indices on this tier
- total_shard_count :: total number of shards for all nodes in this tier
- primary_shard_count :: number of primary shards for all nodes in this tier
- doc_count :: number of documents for all nodes in this tier
- total_size_bytes :: total number of bytes for all shards for all nodes in this tier
- primary_size_bytes :: number of bytes for all primary shards on all nodes in this tier
- primary_shard_size_avg_bytes :: average shard size for primary shard in this tier
- primary_shard_size_median_bytes :: median shard size for primary shard in this tier
- primary_shard_size_mad_bytes :: [median absolute deviation](https://en.wikipedia.org/wiki/Median_absolute_deviation) of shard size for primary shard in this tier
Relates to #60848
2020-10-01 22:35:10 +08:00
|
|
|
"data_cold" : {
|
|
|
|
"node_count" : 0,
|
|
|
|
"index_count" : 0,
|
|
|
|
"total_shard_count" : 0,
|
|
|
|
"primary_shard_count" : 0,
|
|
|
|
"doc_count" : 0,
|
|
|
|
"total_size_bytes" : 0,
|
|
|
|
"primary_size_bytes" : 0,
|
|
|
|
"primary_shard_size_avg_bytes" : 0,
|
|
|
|
"primary_shard_size_median_bytes" : 0,
|
|
|
|
"primary_shard_size_mad_bytes" : 0
|
|
|
|
},
|
|
|
|
"data_content" : {
|
|
|
|
"node_count" : 0,
|
|
|
|
"index_count" : 0,
|
|
|
|
"total_shard_count" : 0,
|
|
|
|
"primary_shard_count" : 0,
|
|
|
|
"doc_count" : 0,
|
|
|
|
"total_size_bytes" : 0,
|
|
|
|
"primary_size_bytes" : 0,
|
|
|
|
"primary_shard_size_avg_bytes" : 0,
|
|
|
|
"primary_shard_size_median_bytes" : 0,
|
|
|
|
"primary_shard_size_mad_bytes" : 0
|
|
|
|
},
|
|
|
|
"data_hot" : {
|
|
|
|
"node_count" : 0,
|
|
|
|
"index_count" : 0,
|
|
|
|
"total_shard_count" : 0,
|
|
|
|
"primary_shard_count" : 0,
|
|
|
|
"doc_count" : 0,
|
|
|
|
"total_size_bytes" : 0,
|
|
|
|
"primary_size_bytes" : 0,
|
|
|
|
"primary_shard_size_avg_bytes" : 0,
|
|
|
|
"primary_shard_size_median_bytes" : 0,
|
|
|
|
"primary_shard_size_mad_bytes" : 0
|
|
|
|
}
|
2020-11-11 01:31:59 +08:00
|
|
|
},
|
|
|
|
"aggregate_metric" : {
|
|
|
|
"available" : true,
|
|
|
|
"enabled" : true
|
2020-02-21 01:25:57 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
------------------------------------------------------------
|
|
|
|
// TESTRESPONSE[s/"detectors" : \{[^\}]*\},/"detectors" : $body.$_path,/]
|
|
|
|
// TESTRESPONSE[s/"model_size" : \{[^\}]*\},/"model_size" : $body.$_path,/]
|
|
|
|
// TESTRESPONSE[s/"eql" : \{[^\}]*\},/"eql" : $body.$_path,/]
|
|
|
|
// TESTRESPONSE[s/"policy_stats" : \[[^\]]*\]/"policy_stats" : $body.$_path/]
|
|
|
|
// TESTRESPONSE[s/"slm" : \{[^\}]*\},/"slm" : $body.$_path,/]
|
|
|
|
// TESTRESPONSE[s/ : true/ : $body.$_path/]
|
|
|
|
// TESTRESPONSE[s/ : false/ : $body.$_path/]
|
|
|
|
// TESTRESPONSE[s/ : (\-)?[0-9]+/ : $body.$_path/]
|
2021-02-10 00:24:14 +08:00
|
|
|
|
2020-02-21 01:25:57 +08:00
|
|
|
// These replacements do a few things:
|
|
|
|
// 1. Ignore the contents of the `policy_stats` object because we don't know all
|
|
|
|
// of the policies that will be in it. And because we figure folks don't need
|
|
|
|
// to see an exhaustive list anyway.
|
|
|
|
// 2. Handling eql, which is disabled by default on release builds and enabled
|
|
|
|
// everywhere else during the initial implementation phase until its release
|
|
|
|
// 3. Ignore the contents of the `slm` object because it might contain policies
|
|
|
|
// 4. All of the numbers and strings on the right hand side of *every* field in
|
|
|
|
// the response are ignored. So we're really only asserting things about the
|
2020-03-05 00:35:03 +08:00
|
|
|
// the shape of this response, not the values in it.
|