Update Jobs API

The update job API enables you to update certain properties of a job.

Request

POST _xpack/ml/anomaly_detectors/<job_id>/_update

Path Parameters

job_id (required)
(string) Identifier for the job

Request Body

The following properties can be updated after the job is created:

Name Description Requires Restart

analysis_limits: model_memory_limit

The approximate maximum amount of memory resources required for analytical processing. See Analysis Limits.

Yes

background_persist_interval

Advanced configuration option. The time between each periodic persistence of the model. See Job Resources.

Yes

custom_settings

Contains custom meta data about the job.

No

description

An optional description of the job. See Job Resources.

No

model_plot_config: enabled

If true, enables calculation and storage of the model bounds for each entity that is being analyzed. See Model Plot Config.

No

model_snapshot_retention_days

The time in days that model snapshots are retained for the job. See Job Resources.

Yes

renormalization_window_days

Advanced configuration option. The period over which adjustments to the score are applied, as new data is seen. See Job Resources.

Yes

results_retention_days

Advanced configuration option. The number of days for which job results are retained. See Job Resources.

Yes

For those properties that have Requires Restart set to Yes in this table, if the job is open when you make the update, you must stop the data feed, close the job, then restart the data feed and open the job for the changes to take effect.

  • You can update the analysis_limits only while the job is closed.
  • The model_memory_limit property value cannot be decreased.
  • If the memory_status property in the model_size_stats object has a value of hard_limit, this means that it was unable to process some data. You might want to re-run this job with an increased model_memory_limit.

Authorization

You must have manage_ml, or manage cluster privileges to use this API. For more information, see Security Privileges.

Examples

The following example updates the it_ops_new_logs job:

POST _xpack/ml/anomaly_detectors/it_ops_new_logs/_update
{
  "description":"An updated job",
  "model_plot_config": {
    "enabled": true
  },
  "analysis_limits": {
    "model_memory_limit": 1024
  },
  "renormalization_window_days": 30,
  "background_persist_interval": "2h",
  "model_snapshot_retention_days": 7,
  "results_retention_days": 60,
  "custom_settings": {
    "custom_urls" : [{
      "url_name" : "Lookup IP",
      "url_value" : "http://geoiplookup.net/ip/$clientip$"
    }]
  }
}

When the job is updated, you receive a summary of the job configuration information, including the updated property values. For example:

{
  "job_id": "it_ops_new_logs",
  "job_type": "anomaly_detector",
  "description": "An updated job",
  "create_time": 1493678314204,
  "finished_time": 1493678315850,
  "analysis_config": {
    "bucket_span": "1800s",
    "categorization_field_name": "message",
    "detectors": [
      {
        "detector_description": "Unusual message counts",
        "function": "count",
        "by_field_name": "mlcategory",
        "detector_rules": [],
        "detector_index": 0
      }
    ],
    "influencers": []
  },
  "analysis_limits": {
    "model_memory_limit": 1024
  },
  "data_description": {
    "time_field": "time",
    "time_format": "epoch_ms"
  },
  "model_plot_config": {
    "enabled": true
  },
  "renormalization_window_days": 30,
  "background_persist_interval": "2h",
  "model_snapshot_retention_days": 7,
  "results_retention_days": 60,
  "custom_settings": {
    "custom_urls": [
      {
        "url_name": "Lookup IP",
        "url_value": "http://geoiplookup.net/ip/$clientip$"
      }
    ]
  },
  "model_snapshot_id": "1493678315",
  "results_index_name": "shared"
}