BodyRequired
- analysis_config
object - max_bucket_cardinality
object Estimates of the highest cardinality in a single bucket that is observed for influencer fields over the time period that the job analyzes data. To produce a good answer, values must be provided for all influencer fields. Providing values for fields that are not listed as
influencers
has no effect on the estimation. - overall_cardinality
object Estimates of the cardinality that is observed for fields over the whole time period that the job analyzes data. To produce a good answer, values must be provided for fields referenced in the
by_field_name
,over_field_name
andpartition_field_name
of any detectors. Providing values for other fields has no effect on the estimation. It can be omitted from the request if no detectors have aby_field_name
,over_field_name
orpartition_field_name
.
POST _ml/anomaly_detectors/_estimate_model_memory
{
"analysis_config": {
"bucket_span": "5m",
"detectors": [
{
"function": "sum",
"field_name": "bytes",
"by_field_name": "status",
"partition_field_name": "app"
}
],
"influencers": [
"source_ip",
"dest_ip"
]
},
"overall_cardinality": {
"status": 10,
"app": 50
},
"max_bucket_cardinality": {
"source_ip": 300,
"dest_ip": 30
}
}
resp = client.ml.estimate_model_memory(
analysis_config={
"bucket_span": "5m",
"detectors": [
{
"function": "sum",
"field_name": "bytes",
"by_field_name": "status",
"partition_field_name": "app"
}
],
"influencers": [
"source_ip",
"dest_ip"
]
},
overall_cardinality={
"status": 10,
"app": 50
},
max_bucket_cardinality={
"source_ip": 300,
"dest_ip": 30
},
)
const response = await client.ml.estimateModelMemory({
analysis_config: {
bucket_span: "5m",
detectors: [
{
function: "sum",
field_name: "bytes",
by_field_name: "status",
partition_field_name: "app",
},
],
influencers: ["source_ip", "dest_ip"],
},
overall_cardinality: {
status: 10,
app: 50,
},
max_bucket_cardinality: {
source_ip: 300,
dest_ip: 30,
},
});
response = client.ml.estimate_model_memory(
body: {
"analysis_config": {
"bucket_span": "5m",
"detectors": [
{
"function": "sum",
"field_name": "bytes",
"by_field_name": "status",
"partition_field_name": "app"
}
],
"influencers": [
"source_ip",
"dest_ip"
]
},
"overall_cardinality": {
"status": 10,
"app": 50
},
"max_bucket_cardinality": {
"source_ip": 300,
"dest_ip": 30
}
}
)
$resp = $client->ml()->estimateModelMemory([
"body" => [
"analysis_config" => [
"bucket_span" => "5m",
"detectors" => array(
[
"function" => "sum",
"field_name" => "bytes",
"by_field_name" => "status",
"partition_field_name" => "app",
],
),
"influencers" => array(
"source_ip",
"dest_ip",
),
],
"overall_cardinality" => [
"status" => 10,
"app" => 50,
],
"max_bucket_cardinality" => [
"source_ip" => 300,
"dest_ip" => 30,
],
],
]);
curl -X POST -H "Authorization: ApiKey $ELASTIC_API_KEY" -H "Content-Type: application/json" -d '{"analysis_config":{"bucket_span":"5m","detectors":[{"function":"sum","field_name":"bytes","by_field_name":"status","partition_field_name":"app"}],"influencers":["source_ip","dest_ip"]},"overall_cardinality":{"status":10,"app":50},"max_bucket_cardinality":{"source_ip":300,"dest_ip":30}}' "$ELASTICSEARCH_URL/_ml/anomaly_detectors/_estimate_model_memory"
{
"analysis_config": {
"bucket_span": "5m",
"detectors": [
{
"function": "sum",
"field_name": "bytes",
"by_field_name": "status",
"partition_field_name": "app"
}
],
"influencers": [
"source_ip",
"dest_ip"
]
},
"overall_cardinality": {
"status": 10,
"app": 50
},
"max_bucket_cardinality": {
"source_ip": 300,
"dest_ip": 30
}
}
{
"model_memory_estimate": "21mb"
}