From 18111e86179eb0c028507d9636273677fdbf9c0c Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Mon, 17 Apr 2017 16:28:28 -0700 Subject: [PATCH] [DOCS] First draft of ML getting started tutorial (elastic/x-pack-elasticsearch#1099) * [DOCS] First draft of ML getting started tutorial * [DOCS] More ML getting started content * [DOCS] Getting started content for data feeds * [DOCS] Added ML getting started screenshot Original commit: elastic/x-pack-elasticsearch@73174d27e8ec3234f1f005853cdfe6ed9fa31611 --- docs/en/ml/getting-started.asciidoc | 261 +++++++++++++++++++++++++++- docs/en/ml/images/ml.jpg | Bin 0 -> 91797 bytes docs/en/ml/ml-scenarios.asciidoc | 4 + 3 files changed, 264 insertions(+), 1 deletion(-) create mode 100644 docs/en/ml/images/ml.jpg diff --git a/docs/en/ml/getting-started.asciidoc b/docs/en/ml/getting-started.asciidoc index b3b7404f8e7..41a325f8e28 100644 --- a/docs/en/ml/getting-started.asciidoc +++ b/docs/en/ml/getting-started.asciidoc @@ -1,11 +1,270 @@ [[ml-getting-started]] == Getting Started +TBD. +//// +{xpack} {ml} features automatically detect: +* Anomalies in single or multiple time series +* Outliers in a population (also known as _entity profiling_) +* Rare events (also known as _log categorization_) + +This tutorial is focuses on an anomaly detection scenario in single time series. +//// + +In this tutorial, you will explore the {xpack} {ml} features by using sample +data. You will create two simple jobs and use the results to identify possible +anomalies in the data. You can also optionally create an alert. At the end of +this tutorial, you should have a good idea of what {ml} is and will hopefully +be inspired to use it to detect anomalies in your own data. + +[float] +[[ml-gs-sysoverview]] +=== System Overview + +TBD. + +To follow the steps in this tutorial, you will need the following +components of the Elastic Stack: + +* Elasticsearch {version}, which stores the data and the analysis results +* {xpack} {version}, which provides the {ml} features +* Kibana {version}, which provides a helpful user interface for creating +and viewing jobs + +See the https://www.elastic.co/support/matrix[Elastic Support Matrix] for +information about supported operating systems and product compatibility. + +See {stack-ref}/installing-elastic-stack.html[Installing the Elastic Stack] for +information about installing each of the components. + +NOTE: To get started, you can install Elasticsearch and Kibana on a +single VM or even on your laptop. As you add more data and your traffic grows, +you'll want to replace the single Elasticsearch instance with a cluster. + +When you install {xpack} into Elasticsearch and Kibana, the {ml} features are +enabled by default. If you have multiple nodes in your cluster, you can +optionally dedicate nodes to specific purposes. If you want to control which +nodes are _machine learning nodes_ or limit which nodes run resource-intensive +activity related to jobs, see <>. + +NOTE: This tutorial uses Kibana to create jobs and view results, but you can +alternatively use APIs to accomplish most tasks. +For API reference information, see <>. + +[[ml-gs-data]] +=== Identifying Data for Analysis + +TBD. + +For the purposes of this tutorial, we provide sample data that you can play with. +When you consider your own data, however, it's important to take a moment +and consider where the {xpack} {ml} features will be most impactful. + +The first consideration is that it must be time series data. +Generally, it's best to use data that is in chronological order. When the data +feed occurs in ascending time order, the statistical models and calculations are +very efficient and occur in real-time. +//TBD: Talk about handling out of sequence data? + +The second consideration, especially when you are first learning to use {ml}, +is the importance of the data and how familiar you are with it. Ideally, it is +information that contains key performance indicators (KPIs) for the health or +success of your business or system. It is information for which you want alarms +to ring when anomalous behavior occurs. You might even have Kibana dashboards +that you're already using to watch this data. The better you know the data, +the quicker you will be able to create jobs that generate useful insights from +{ml}. + +//TBD: Talk about layering additional jobs? +//// + You can then create additional jobs to troubleshoot the situation and put it +into context of what was going on in the system at the time. +The troubleshooting job would not create alarms of its own, but rather would +help explain the overall situation. It's usually a different job because it's +operating on different indices. Layering jobs is an important concept. +//// +//// +* Working with out of sequence data: +** In the typical case where data arrives in ascending time order, +each new record pushes the time forward. When a record is received that belongs +to a new bucket, the current bucket is considered to be completed. +At this point, the model is updated and final results are calculated for the +completed bucket and the new bucket is created. +** Expecting data to be in time sequence means that modeling and results +calculations can be performed very efficiently and in real-time. +As a direct consequence of this approach, out-of-sequence records are ignored. +** When data is expected to arrive out-of-sequence, a latency window can be +specified in the job configuration (does not apply to data feeds?). (If we're +using a data feed in the sample, perhaps this discussion can be deferred for +future more-advanced scenario.) +//See http://www.prelert.com/docs/behavioral_analytics/latest/concepts/outofsequence.html +//// + +The final consideration is where the data is located. If the data that you want +to analyze is stored in Elasticsearch, you can define a _data feed_ that +provides data to the job in real time. By having both the input data and the +analytical results in Elasticsearch, you get performance benefits? (TBD) +The alternative to data feeds is to upload batches of data to the job by +using the <>. +//TBD: The data must be provided in JSON format? + +[float] +[[ml-gs-sampledata]] +==== Obtaining a sample dataset + +TBD. + +* Provide instructions for downloading the sample data from https://github.com/elastic/examples +* Provide overview/context of the sample data + +[[ml-gs-jobs]] +=== Working with Jobs + +TBD. + +Machine learning jobs contain the configuration information and metadata +necessary to perform an analytical task. They also contain the results of the +analytical task. Each job ID must be unique in your cluster. + +To work with jobs in Kibana: + +. Open Kibana in your web browser and log in. If you are running Kibana +locally, go to `http://localhost:5601/`. To use the {ml} features, +you must log in as a user who has the `kibana_user` +and `monitor_ml` roles (TBD). + +. Click **Machine Learning** in the side navigation. + +//image::ml.jpg["Job Management"] + +You can choose to create single-metric, multi-metric, or advanced jobs in Kibana. + +[float] +[[ml-gs-job1-create]] +==== Creating a Single Metric Job + +TBD. + +* Walk through creation of a simple single metric job. +* Provide overview of: +** aggregations +** detectors (define which fields to analyze) +*** The detectors define what type of analysis needs to be done +(e.g. max, average, rare) and upon which fields (e.g. IP address, Host name, Num bytes). +** bucket spans (define time intervals to analyze across) +*** Take into account the granularity at which you want to analyze, +the frequency of the input data, and the frequency at which alerting is required. +*** When we analyze data, we use the concept of a bucket to divide up a continuous +stream of data into batches for processing. For example, if you were monitoring the +average response time of a system and received a data point every 10 minutes, +using a bucket span of 1 hour means that at the end of each hour we would calculate +the average (mean) value of the data for the last hour and compute the +anomalousness of that average value compared to previous hours. +*** The bucket span has two purposes: it dictates over what time span to look for +anomalous features in data, and also determines how quickly anomalies can be detected. +Choosing a shorter bucket span allows anomalies to be detected more quickly but +at the risk of being too sensitive to natural variations or noise in the input data. +Choosing too long a bucket span however can mean that interesting anomalies are averaged away. +** analysis functions +*** Some of the analytical functions look for single anomalous data points, e.g. max, +which identifies the maximum value seen within a bucket. +Others perform some aggregation over the length of the bucket, e.g. mean, +which calculates the mean of all the data points seen within the bucket, +or count, which calculates the total number of data points within the bucket. +There is the possibility that the aggregation might smooth out some anomalies +based on when the bucket starts in time. +**** To avoid this, you can use overlapping buckets (how/where?). +We analyze the data points in two buckets simultaneously, one starting half a bucket +span later than the other. Overlapping buckets are only beneficial for +aggregating functions, and should not be used for non-aggregating functions. + +[float] +[[ml-gs-job1-analyze]] +===== Viewing Single Metric Job Results + +TBD. + +* Walk through exploration of job results. +** Based on this job configuration we analyze the input stream of data. +We model the behavior of the data, perform analysis based upon the defined detectors +and for the time interval. When we see an event occurring outside of our model, +we identify this as an anomaly. For each anomaly detected, we store the +result records of our analysis, which includes the probability of +detecting that anomaly. +** With high volumes of real-life data, many anomalies may be found. +These vary in probability from very likely to highly unlikely i.e. from not +particularly anomalous to highly anomalous. There can be none, one or two or +tens, sometimes hundreds of anomalies found within each bucket. +There can be many thousands found per job. +In order to provide a sensible view of the results, we calculate an anomaly score +for each time interval. An interval with a high anomaly score is significant +and requires investigation. +** The anomaly score is a sophisticated aggregation of the anomaly records. +The calculation is optimized for high throughput, gracefully ages historical data, +and reduces the signal to noise levels. +It adjusts for variations in event rate, takes into account the frequency +and the level of anomalous activity and is adjusted relative to past anomalous behavior. +In addition, it is boosted if anomalous activity occurs for related entities, +for example if disk IO and CPU are both behaving unusually for a given host. +** Once an anomalous time interval has been identified, it can be expanded to +view the detailed anomaly records which are the significant causal factors. +* Provide brief overview of statistical models and/or link to more info. +* Possibly discuss effect of altering bucket span. + +* Provide general overview of management of jobs (when/why to start or + stop them). + +[float] +[[ml-gs-job2-create]] +==== Creating a Multi-Metric Job + +TBD. + +* Walk through creation of a simple multi-metric job. +* Provide overview of: +** partition fields, +** influencers +*** An influencer is someone or something that has influenced or contributed to the anomaly. +Results are aggregated for each influencer, for each bucket, across all detectors. +In this way, a combined anomaly score is calculated for each influencer, +which determines its relative anomalousness. You can specify one or many influencers. +Picking an influencer is strongly recommended for the following reasons: +**** It allow you to blame someone/something for the anomaly +**** It simplifies and aggregates results +*** The best influencer is the person or thing that you want to blame for the anomaly. +In many cases, users or client IP make excellent influencers. +*** By/over/partition fields are usually good candidates for influencers. +*** Influencers can be any field in the source data; they do not need to be fields +specified in detectors, although they often are. +** by/over fields, +*** detectors +**** You can have more than one detector in a job which is more efficient than +running multiple jobs against the same data stream. + +//http://www.prelert.com/docs/behavioral_analytics/latest/concepts/multivariate.html + +[float] +[[ml-gs-job2-analyze]] +===== Viewing Multi-Metric Job Results + +TBD. + +* Walk through exploration of job results. +* Describe how influencer detection accelerates root cause identification. + +[[ml-gs-alerts]] +=== Creating Alerts for Job Results + +TBD. + +* Walk through creation of simple alert for anomalous data? + +//// To start exploring anomalies in your data: . Open Kibana in your web browser and log in. If you are running Kibana locally, go to `http://localhost:5601/`. . Click **ML** in the side navigation ... - +//// //image::graph-open.jpg["Accessing Graph"] diff --git a/docs/en/ml/images/ml.jpg b/docs/en/ml/images/ml.jpg new file mode 100644 index 0000000000000000000000000000000000000000..12f427675a1ae2ace44eecfb128e2b32e04910d6 GIT binary patch literal 91797 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 literal 0 HcmV?d00001 diff --git a/docs/en/ml/ml-scenarios.asciidoc b/docs/en/ml/ml-scenarios.asciidoc index da47718108a..e8e0396bdaa 100644 --- a/docs/en/ml/ml-scenarios.asciidoc +++ b/docs/en/ml/ml-scenarios.asciidoc @@ -1,6 +1,9 @@ [[ml-scenarios]] == Use Cases +TBD + +//// Enterprises, government organizations and cloud based service providers daily process volumes of machine data so massive as to make real-time human analysis impossible. Changing behaviors hidden in this data provide the @@ -98,3 +101,4 @@ would be very different than the thresholds that would be effective during the d By using {ml}, time-related trends are automatically identified and smoothed, leaving the residual to be analyzed for anomalies. +////