From 987bc7c4ab9f9d65b700afce655e59d8cbb4a63b Mon Sep 17 00:00:00 2001 From: ashwinkumar12345 Date: Mon, 8 Nov 2021 11:41:49 -0800 Subject: [PATCH 1/3] validation api --- _monitoring-plugins/ad/api.md | 91 ++++++++++++++++++ _monitoring-plugins/ad/index.md | 7 +- .../access-control/permissions.md | 2 + images/review_ad.png | Bin 0 -> 79610 bytes 4 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 images/review_ad.png diff --git a/_monitoring-plugins/ad/api.md b/_monitoring-plugins/ad/api.md index 9abf4b0f..1abd8eb8 100644 --- a/_monitoring-plugins/ad/api.md +++ b/_monitoring-plugins/ad/api.md @@ -332,6 +332,97 @@ Options | Description | Type | Required --- +## Validate detector +Introduced 1.2 +{: .label .label-purple } + +Returns whether the detector configuration has any issues that might prevent OpenSearch from creating the detector. + +You can use the validate API to identify issues in your model configuration before creating the detector. + +The request body consists of the detector configuration and follows the same format as the request body of the create detector API: + +#### Request + +```json +POST _plugins/_anomaly_detection/detectors/_validate +POST _plugins/_anomaly_detection/detectors/_validate/detector +{ + "name": "test-detector", + "description": "Test detector", + "time_field": "timestamp", + "indices": [ + "server_log*" + ], + "feature_attributes": [ + { + "feature_name": "test", + "feature_enabled": true, + "aggregation_query": { + "test": { + "sum": { + "field": "value" + } + } + } + } + ], + "filter_query": { + "bool": { + "filter": [ + { + "range": { + "value": { + "gt": 1 + } + } + } + ], + "adjust_pure_negative": true, + "boost": 1 + } + }, + "detection_interval": { + "period": { + "interval": 1, + "unit": "Minutes" + } + }, + "window_delay": { + "period": { + "interval": 1, + "unit": "Minutes" + } + } +} +``` + +If the validate API doesn’t find any issue in the detector configuration, it returns an empty response: + +#### Sample response + +```json +{} +``` + +If the validate API finds an issue, it returns a message explaining what's wrong with the configuration. In this example, the feature query is aggregating over a field that doesn’t exist in the data source: + +#### Sample response + +```json +{ + "detector": { + "feature_attributes": { + "message": "Feature has invalid query returning empty aggregated data: average_total_rev", + "sub_issues": { + "average_total_rev": "Feature has invalid query returning empty aggregated data" + } + } + } +} +``` +--- + ## Get detector Introduced 1.0 {: .label .label-purple } diff --git a/_monitoring-plugins/ad/index.md b/_monitoring-plugins/ad/index.md index 88161545..afc6d0e7 100644 --- a/_monitoring-plugins/ad/index.md +++ b/_monitoring-plugins/ad/index.md @@ -110,7 +110,12 @@ We recommend experimenting with historical analysis with different feature sets ## Step 4: Review and create -Review your model configuration and select **Create detector**. +Review your detector settings and model configurations to make sure that they're valid and then proceed to select **Create detector**. + +![Anomaly detection results]({{site.url}}{{site.baseurl}}/images/review_ad.png) + +If you see any validation errors, edit the settings to fix the errors and then return back to this page. +{: .note } ## Step 5: Observe the results diff --git a/_security-plugin/access-control/permissions.md b/_security-plugin/access-control/permissions.md index 19858bb5..869c2a15 100644 --- a/_security-plugin/access-control/permissions.md +++ b/_security-plugin/access-control/permissions.md @@ -80,8 +80,10 @@ These permissions are for the cluster and can't be applied granularly. For examp - cluster:admin/opendistro/ad/detector/search - cluster:admin/opendistro/ad/detector/stats - cluster:admin/opendistro/ad/detector/write +- cluster:admin/opendistro/ad/detector/validate - cluster:admin/opendistro/ad/detectors/get - cluster:admin/opendistro/ad/result/search +- cluster:admin/opendistro/ad/result/topAnomalies - cluster:admin/opendistro/ad/tasks/search - cluster:admin/opendistro/alerting/alerts/ack (acknowledge) - cluster:admin/opendistro/alerting/alerts/get diff --git a/images/review_ad.png b/images/review_ad.png new file mode 100644 index 0000000000000000000000000000000000000000..2c387843395ba9fc8e8f6d74c86ba274b88de3c0 GIT binary patch literal 79610 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
R$I+_gdF=Ugve50gX%w!j4`yj5fiJxW7#s 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 JynByd{9li9+WG(h literal 0 HcmV?d00001 From b01c44840a0c905733676d589e0f31da4c241990 Mon Sep 17 00:00:00 2001 From: ashwinkumar12345 Date: Mon, 8 Nov 2021 13:17:49 -0800 Subject: [PATCH 2/3] minor changes --- _monitoring-plugins/ad/api.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_monitoring-plugins/ad/api.md b/_monitoring-plugins/ad/api.md index 1abd8eb8..4f6fb3e3 100644 --- a/_monitoring-plugins/ad/api.md +++ b/_monitoring-plugins/ad/api.md @@ -338,9 +338,9 @@ Introduced 1.2 Returns whether the detector configuration has any issues that might prevent OpenSearch from creating the detector. -You can use the validate API to identify issues in your model configuration before creating the detector. +You can use the validate API to identify issues in your detector configuration before creating the detector. -The request body consists of the detector configuration and follows the same format as the request body of the create detector API: +The request body consists of the detector configuration and follows the same format as the request body of the [create detector API]({{site.url}}{{site.baseurl}}/monitoring-plugins/ad/api#create-anomaly-detector). You can pass an additional detector parameter to validate a specific detector. #### Request @@ -405,7 +405,7 @@ If the validate API doesn’t find any issue in the detector configuration, it r {} ``` -If the validate API finds an issue, it returns a message explaining what's wrong with the configuration. In this example, the feature query is aggregating over a field that doesn’t exist in the data source: +If the validate API finds an issue, it returns a message explaining what's wrong with the configuration. In this example, the feature query aggregates over a field that doesn’t exist in the data source: #### Sample response From 8fb4c250a0757ae243698f45cadea965a7d365d9 Mon Sep 17 00:00:00 2001 From: ashwinkumar12345 Date: Mon, 8 Nov 2021 14:08:34 -0800 Subject: [PATCH 3/3] minor changes --- _monitoring-plugins/ad/api.md | 2 +- _monitoring-plugins/ad/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_monitoring-plugins/ad/api.md b/_monitoring-plugins/ad/api.md index 4f6fb3e3..08668404 100644 --- a/_monitoring-plugins/ad/api.md +++ b/_monitoring-plugins/ad/api.md @@ -340,7 +340,7 @@ Returns whether the detector configuration has any issues that might prevent Ope You can use the validate API to identify issues in your detector configuration before creating the detector. -The request body consists of the detector configuration and follows the same format as the request body of the [create detector API]({{site.url}}{{site.baseurl}}/monitoring-plugins/ad/api#create-anomaly-detector). You can pass an additional detector parameter to validate a specific detector. +The request body consists of the detector configuration and follows the same format as the request body of the [create detector API]({{site.url}}{{site.baseurl}}/monitoring-plugins/ad/api#create-anomaly-detector). #### Request diff --git a/_monitoring-plugins/ad/index.md b/_monitoring-plugins/ad/index.md index afc6d0e7..bd219106 100644 --- a/_monitoring-plugins/ad/index.md +++ b/_monitoring-plugins/ad/index.md @@ -110,7 +110,7 @@ We recommend experimenting with historical analysis with different feature sets ## Step 4: Review and create -Review your detector settings and model configurations to make sure that they're valid and then proceed to select **Create detector**. +Review your detector settings and model configurations to make sure that they're valid and then select **Create detector**. ![Anomaly detection results]({{site.url}}{{site.baseurl}}/images/review_ad.png)