From 4bf181898f75cdf0483baf61ce23a52c583ce82a Mon Sep 17 00:00:00 2001 From: Vijayan Balasubramanian Date: Thu, 9 Jul 2020 14:56:28 -0700 Subject: [PATCH] Create RFC for AD CLI (#185) * Create RFC for AD CLI This is the RFC for the Anomaly Detection CLI feature to be built on AD. --- cli/Create.png | Bin 0 -> 19524 bytes cli/Start.png | Bin 0 -> 14173 bytes cli/rfc-adcli.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 cli/Create.png create mode 100644 cli/Start.png create mode 100644 cli/rfc-adcli.md diff --git a/cli/Create.png b/cli/Create.png new file mode 100644 index 0000000000000000000000000000000000000000..334ca1d4935f42331e416bcb261af2cb3fe72d05 GIT binary patch literal 19524 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 Zx2wEv!@`QX-$B#W*Ez49a|#vy{{dm$=6(PG literal 0 HcmV?d00001 diff --git a/cli/Start.png b/cli/Start.png new file mode 100644 index 0000000000000000000000000000000000000000..4558fa545ea2ff08ea144b4b60464d21fbfe924a GIT binary patch literal 14173 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 literal 0 HcmV?d00001 diff --git a/cli/rfc-adcli.md b/cli/rfc-adcli.md new file mode 100644 index 00000000..7efce8bb --- /dev/null +++ b/cli/rfc-adcli.md @@ -0,0 +1,42 @@ +# RFC: Anomaly Detection CLI + +### JUNE 2020 + +### Introduction + +Anomaly detection is a technique used to identify unexpected behavior that does not follow expected pattern called outliers. The [anomaly detection plugin](https://github.com/opendistro-for-elasticsearch/anomaly-detection) makes it easy to detect anomalies in time series data stored in Elasticsearch in near real-time using the Random Cut Forest (RCF) algorithm. The [anomaly detection kibana plugin](https://github.com/opendistro-for-elasticsearch/anomaly-detection-kibana-plugin) lets user to set up this job by creating detectors for given index. Though kibana provides ease of use in setting up this job, especially to beginners, a simple CLI command can easily adjust configurations for a large group of detectors in a scalable way. For a common task, user might repeat certain steps within kibana manually, where user can create a script with few lines of command and it will do the same work quicker than kibana. + +This RFC proposes a design for a command line tool to give our users an option to create Anomaly detection configurations without having to open Kibana UI.Users can leverage CLI to perform CRUD operations to set up anomaly detection without the need to go through series of steps in UI. This CLI will be built on top of [anomaly detection plugin](https://github.com/opendistro-for-elasticsearch/anomaly-detection) by transforming user input into [anomaly detection api](https://opendistro.github.io/for-elasticsearch-docs/docs/ad/api/) based on commands. This will significantly improve the operations and developer productivity in managing AD for large number of indexes with various settings. + + +### AD CLI + +AD CLI aims at providing basic functionalities like create, update, delete, start, stop detectors in simple commands. This CLI provides greater flexibility of use. User can use CLI to easily do things that are difficult or sometimes impossible to do with kibana UI. This doesn’t use any additional system resources to load any of graphical part, thus making it simpler and faster than UI. + +### Architecture + +The AD CLI is an add-on to the Anomaly Detection. Hence, it is imperative that ES cluster has already installed the AD plugin. AD CLI acts like a wrapper which helps user to easily interact with Anomaly Detection plugin. + +1. **Create/Update AD Configuration** + + It is possible to represent the AD configuration settings found in kibana in a text format. This will help users to store configurations in source control tools, so that one can track history of configurations and share across users. User may also want to copy detectors across domains or stages ( dev/staging/prod) for testing. This CLI will accept the detector settings in a text file, convert the user request into [anomaly detection api](https://opendistro.github.io/for-elasticsearch-docs/docs/ad/api/) and execute those REST calls to create or update detectors for given cluster or domain + + ![](Create.png) +2. **Start/Stop/List/Delete Detectors** + + Few operations like start, stop, list and delete detector(s) can also be performed using AD CLI + +![](Start.png) + +**CRUD operation is just a beginning for AD CLI. We can easily identify common use-cases from users which involves multiple operations with AD plugin like copy, export, import , etc... can be easily extracted into commands and be available to the users in multiple releases.** + + +### Request for Comments: + +We would like comments and feedback on the proposal for building AD CLI tool [here](https://github.com/opendistro-for-elasticsearch/anomaly-detection/issues/186). Some specific questions we’re seeking feedback include + + +* Would you like to provide Detector settings for create/update detector in YAML or JSON format? +* Would you like to see every feature available in kibana to be available in CLI or would you prefer only features which are difficult and impossible to do in UI to be available. +* What function you want for the CLI tool? What’s your use case? +