For a list of the properties that you can specify in the
analysis_config component of the body of this API.
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 and partition_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 a by_field_name,
over_field_name or partition_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"
}