Update jobs API

edit

Updates certain properties of a job.

Request

edit

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

Path parameters

edit
job_id (required)
(string) Identifier for the job

Request body

edit

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. You can update the analysis_limits only while the job is closed. The model_memory_limit property value cannot be decreased below the current usage.

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

A description of the job. See Job resources.

No

detectors

An array of detector update objects.

No

detector_index

The identifier of the detector to update (integer).

No

detectors.description

The new description for the detector.

No

detectors.custom_rules

The new list of rules for the detector.

No

groups

A list of job groups. 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.

No

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.

No

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.

  • 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.

Prerequisites

edit

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

Examples

edit

The following example updates the total-requests job:

POST _xpack/ml/anomaly_detectors/total-requests/_update
{
  "description":"An updated job",
  "groups": ["group1","group2"],
  "model_plot_config": {
    "enabled": true
  },
  "analysis_limits": {
    "model_memory_limit": "1024mb"
  },
  "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": "total-requests",
  "job_type": "anomaly_detector",
  "job_version": "6.5.0",
  "groups": [
    "group1",
    "group2"
  ],
  "description": "An updated job",
  "create_time": 1518808660505,
  "analysis_config": {
    "bucket_span": "10m",
    "detectors": [
      {
        "detector_description": "Sum of total",
        "function": "sum",
        "field_name": "total",
        "detector_index": 0
      }
    ],
    "influencers": []
  },
  "analysis_limits": {
    "model_memory_limit": "1024mb",
    "categorization_examples_limit": 4
  },
  "data_description": {
    "time_field": "timestamp",
    "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$"
      }
    ]
  },
  "results_index_name": "shared"
}