Estimate job model memory usage Generally available
Body Required
-
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. -
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" }