估计异常检测作业模型内存 API编辑

估算异常检测作业模型的内存使用量。它基于作业的分析配置详细信息和其引用字段的基数估计值。

请求编辑

POST _ml/anomaly_detectors/_estimate_model_memory

先决条件编辑

需要 manage_ml 集群权限。此权限包含在 machine_learning_admin 内置角色中。

请求正文编辑

analysis_config
(必填,对象)有关您可以在此 API 正文的 analysis_config 组件中指定的属性列表,请参阅 analysis_config
max_bucket_cardinality
(必填*,对象)在作业分析数据的时段内,观察到的影响因素字段在单个桶中的最高基数估计值。为了产生良好的答案,必须为所有影响因素字段提供值。为未列为 influencers 的字段提供值对估计没有影响。
*如果没有 influencers,则可以从请求中省略它。
overall_cardinality
(必填*,对象)在作业分析数据的整个时段内,观察到的字段的基数估计值。为了产生良好的答案,必须为任何检测器的 by_field_nameover_field_namepartition_field_name 中引用的字段提供值。为其他字段提供值对估计没有影响。
*如果检测器没有 by_field_nameover_field_namepartition_field_name,则可以从请求中省略它。

示例编辑

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
    }
  }
)
puts response
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
  }
}

估计返回以下结果

{
  "model_memory_estimate": "21mb"
}