From b5363ffab2c726b9a2d13789825cfc43b2048afb Mon Sep 17 00:00:00 2001
From: Artem Navoiev <tenmozes@gmail.com>
Date: Fri, 19 Jan 2024 07:00:41 -0800
Subject: [PATCH] Move vmanomaly page to its own section  (#5646)

* docs: move vmanomaly overview page to its section

Signed-off-by: Artem Navoiev <tenmozes@gmail.com>

* add alias for backward compatibility

Signed-off-by: Artem Navoiev <tenmozes@gmail.com>

* fix links

Signed-off-by: Artem Navoiev <tenmozes@gmail.com>

* change title

Signed-off-by: Artem Navoiev <tenmozes@gmail.com>

---------

Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
---
 docs/anomaly-detection/CHANGELOG.md           |   2 +-
 docs/anomaly-detection/FAQ.md                 |   8 +-
 docs/anomaly-detection/Overview.md            | 296 ++++++++++++++++++
 docs/anomaly-detection/README.md              |   9 +-
 docs/anomaly-detection/components/README.md   |   8 +-
 docs/anomaly-detection/components/models.md   |   4 +-
 docs/anomaly-detection/guides/README.md       |   8 +-
 .../guides/guide-vmanomaly-vmalert.md         |   8 +-
 .../vmanomaly-holtwinters-example.webp        | Bin 0 -> 26590 bytes
 .../vmanomaly-prophet-example.webp            | Bin 0 -> 26430 bytes
 docs/enterprise.md                            |   2 +-
 docs/vmanomaly.md                             | 286 +----------------
 12 files changed, 322 insertions(+), 309 deletions(-)
 create mode 100644 docs/anomaly-detection/Overview.md
 create mode 100644 docs/anomaly-detection/vmanomaly-holtwinters-example.webp
 create mode 100644 docs/anomaly-detection/vmanomaly-prophet-example.webp

diff --git a/docs/anomaly-detection/CHANGELOG.md b/docs/anomaly-detection/CHANGELOG.md
index 264809ed26..c282e213dc 100644
--- a/docs/anomaly-detection/CHANGELOG.md
+++ b/docs/anomaly-detection/CHANGELOG.md
@@ -20,7 +20,7 @@ The following `tip` changes can be tested by building from the `latest` tag:
 docker pull us-docker.pkg.dev/victoriametrics-test/public/vmanomaly-trial:latest
 ```
 
-Please find [launch instructions here](/vmanomaly.html#run-vmanomaly-docker-container).
+Please find [launch instructions here](/anomaly-detection/overview.html#run-vmanomaly-docker-container).
 
 # tip
 
diff --git a/docs/anomaly-detection/FAQ.md b/docs/anomaly-detection/FAQ.md
index eb64ef4b2d..7aca286b61 100644
--- a/docs/anomaly-detection/FAQ.md
+++ b/docs/anomaly-detection/FAQ.md
@@ -1,12 +1,12 @@
 ---
-sort: 3
-weight: 3
+sort: 4
+weight: 4
 title: FAQ
 menu:
   docs:
     identifier: "vmanomaly-faq"
     parent: "anomaly-detection"
-    weight: 3
+    weight: 4
 aliases:
 - /anomaly-detection/FAQ.html
 ---
@@ -28,7 +28,7 @@ The decision to set the changepoint at `1.0` is made to ensure consistency acros
 ## How does vmanomaly work?
 `vmanomaly` applies built-in (or custom) [anomaly detection algorithms](/anomaly-detection/components/models.html), specified in a config file. Although a single config file supports one model, running multiple instances of `vmanomaly` with different configs is possible and encouraged for parallel processing or better support for your use case (i.e. simpler model for simple metrics, more sophisticated one for metrics with trends and seasonalities).
 
-Please refer to [about](/vmanomaly.html#about) section to find out more.
+Please refer to [about](/anomaly-detection/overview.html#about) section to find out more.
 
 ## What data does vmanomaly operate on?
 `vmanomaly` operates on data fetched from VictoriaMetrics, where you can leverage full power of [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html) for data selection, sampling, and processing. Users can also [apply global filters](https://docs.victoriametrics.com/#prometheus-querying-api-enhancements) for more targeted data analysis, enhancing scope limitation and tenant visibility.
diff --git a/docs/anomaly-detection/Overview.md b/docs/anomaly-detection/Overview.md
new file mode 100644
index 0000000000..6016e71d4c
--- /dev/null
+++ b/docs/anomaly-detection/Overview.md
@@ -0,0 +1,296 @@
+---
+title: vmanomaly overview
+weight: 4
+
+menu:
+  docs:
+    parent: 'victoriametrics'
+    sort: 0
+    weight: 0
+
+aliases:
+- /anomaly-detection.html
+---
+
+
+# vmanomaly overview
+
+**_vmanomaly_ is a part of [enterprise package](https://docs.victoriametrics.com/enterprise.html). You need to request a [free trial license](https://victoriametrics.com/products/enterprise/trial/) for evaluation.**
+
+## About
+
+**VictoriaMetrics Anomaly Detection** (or shortly, `vmanomaly`) is a service that continuously scans VictoriaMetrics time
+series and detects unexpected changes within data patterns in real-time. It does so by utilizing
+user-configurable machine learning models.
+
+It periodically queries user-specified metrics, computes an “anomaly score” for them, based on how
+well they fit a predicted distribution, taking into account periodical data patterns with trends,
+and pushes back the computed “anomaly score” to VictoriaMetrics. Then, users can enable alerting
+rules based on the “anomaly score”.
+
+Compared to classical alerting rules, anomaly detection is more “hands-off” i.e. it allows users to
+avoid setting up manual alerting rules set up and catching anomalies that were not expected to happen.
+In other words, by setting up alerting rules, a user must know what to look for, ahead of time,
+while anomaly detection looks for any deviations from past behavior.
+
+In addition to that, setting up alerting rules manually has been proven to be tedious and
+error-prone, while anomaly detection can be easier to set up, and use the same model for different
+metrics.
+
+## How?
+
+VictoriaMetrics Anomaly Detection service (**vmanomaly**) allows you to apply several built-in
+anomaly detection algorithms. You can also plug in your own detection models, code doesn’t make any
+distinction between built-in models or external ones.
+
+All the service parameters (model, schedule, input-output) are defined in a config file.
+
+Single config file supports only one model, but it’s totally OK to run multiple **vmanomaly**
+processes in parallel, each using its own config.
+
+## Models
+
+Currently, vmanomaly ships with a set of built-in models:
+> For a detailed overview, see [model section](/anomaly-detection/components/models.html)
+
+1. [**ZScore**](/anomaly-detection/components/models.html#z-score)
+
+   _(useful for testing)_
+
+   Simplistic model, that detects outliers as all the points that lie farther than a certain amount
+   from time-series mean (straight line). Keeps only two model parameters internally:
+   `mean` and `std` (standard deviation).
+
+1. [**Prophet**](/anomaly-detection/components/models.html#prophet)
+
+   _(simplest in configuration, recommended for getting started)_
+
+   Uses Facebook Prophet for forecasting. The _anomaly score_ is computed of how close the actual time
+   series values follow the forecasted values (_yhat_), and whether it’s within forecasted bounds
+   (_yhat_lower_, _yhat_upper_). The _anomaly score_ reaches 1.0 if the actual data values
+   are equal to
+   _yhat_lower_ or _yhat_upper_. The _anomaly score_ is above 1.0 if the actual data values are
+   outside
+   the _yhat_lower_/_yhat_upper_ bounds.
+
+   See [Prophet documentation](https://facebook.github.io/prophet/)
+
+1. [**Holt-Winters**](/anomaly-detection/components/models.html#holt-winters)
+
+   Very popular forecasting algorithm. See [statsmodels.org documentation](
+   https://www.statsmodels.org/stable/generated/statsmodels.tsa.holtwinters.ExponentialSmoothing.html)
+   for Holt-Winters exponential smoothing.
+
+1. [**Seasonal-Trend Decomposition**](/anomaly-detection/components/models.html#seasonal-trend-decomposition)
+
+   Extracts three components: season, trend, and residual, that can be plotted individually for
+   easier debugging. Uses LOESS (locally estimated scatterplot smoothing).
+   See [statsmodels.org documentation](https://www.statsmodels.org/dev/examples/notebooks/generated/stl_decomposition.html)
+   for LOESS STD.
+
+1. [**ARIMA**](/anomaly-detection/components/models.html#arima)
+
+   Commonly used forecasting model. See [statsmodels.org documentation](https://www.statsmodels.org/stable/generated/statsmodels.tsa.arima.model.ARIMA.html) for ARIMA.
+
+1. [**Rolling Quantile**](/anomaly-detection/components/models.html#rolling-quantile)
+
+   A simple moving window of quantiles. Easy to use, easy to understand, but not as powerful as
+   other models.
+
+1. [**Isolation Forest**](/anomaly-detection/components/models.html#isolation-forest-multivariate)
+
+   Detects anomalies using binary trees. It works for both univariate and multivariate data. Be aware of [the curse of dimensionality](https://en.wikipedia.org/wiki/Curse_of_dimensionality) in the case of multivariate data - we advise against using a single model when handling multiple time series *if the number of these series significantly exceeds their average length (# of data points)*.
+
+   The algorithm has a linear time complexity and a low memory requirement, which works well with high-volume data. See [scikit-learn.org documentation](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.IsolationForest.html) for Isolation Forest.
+
+
+1. [**MAD (Median Absolute Deviation)**](anomaly-detection/components/models.html#mad-median-absolute-deviation)
+
+   A robust method for anomaly detection that is less sensitive to outliers in data compared to standard deviation-based models. It considers a point as an anomaly if the absolute deviation from the median is significantly large.
+
+
+### Examples
+For example, here’s how Prophet predictions could look like on a real-data example  
+(Prophet auto-detected seasonality interval):
+
+<img alt="propher-example" src="vmanomaly-prophet-example.webp">
+
+And here’s what Holt-Winters predictions real-world data could look like (seasonality manually
+set to 1 week). Notice that it predicts anomalies in
+different places than Prophet because the model noticed there are usually spikes on Friday
+morning, so it accounted for that:
+
+<img alt="holtwinters-example" src="vmanomaly-holtwinters-example.webp">
+
+## Process
+Upon starting, vmanomaly queries the initial range of data, and trains its model (“fit” by convention).
+
+Then, reads new data from VictoriaMetrics, according to schedule, and invokes its model to compute
+“anomaly score” for each data point. The anomaly score ranges from 0 to positive infinity.
+Values less than 1.0 are considered “not an anomaly”, values greater or equal than 1.0 are
+considered “anomalous”, with greater values corresponding to larger anomaly.
+Then, vmanomaly pushes the metric to vminsert (under the user-configured metric name,
+optionally preserving labels).
+
+
+## Usage
+> Starting from [v1.5.0](/anomaly-detection/CHANGELOG.html#v150), vmanomaly requires a license key to run. You can obtain a trial license key [here](https://victoriametrics.com/products/enterprise/trial/).
+
+> See [Getting started guide](anomaly-detection/guides/guide-vmanomaly-vmalert.html).
+
+### Config file
+There are 4 required sections in config file:
+
+* [`scheduler`](/anomaly-detection/components/scheduler.html) - defines how often to run and make inferences, as well as what timerange to use to train the model.
+* [`model`](/anomaly-detection/components/models.html) - specific model parameters and configurations,
+* [`reader`](/anomaly-detection/components/reader.html) - how to read data and where it is located
+* [`writer`](/anomaly-detection/components/writer.html) - where and how to write the generated output.
+
+[`monitoring`](#monitoring) - defines how to monitor work of *vmanomaly* service. This config section is *optional*.
+
+> For a detailed description, see [config sections](/anomaly-detection/components)
+
+#### Config example
+Here is an example of config file that will run FB Prophet model, that will be retrained every 2 hours on 14 days of previous data. It will generate inference (including `anomaly_score` metric) every 1 minute.
+
+
+You need to put your datasource urls to use it:
+
+```yaml
+scheduler:
+  infer_every: "1m"
+  fit_every: "2h"
+  fit_window: "14d"
+
+model:
+  class: "model.prophet.ProphetModel"
+  args:
+    interval_width: 0.98
+
+reader:
+  datasource_url: [YOUR_DATASOURCE_URL] #Example: "http://victoriametrics:8428/"
+  queries:
+    cache: "sum(rate(vm_cache_entries))"
+
+writer:
+  datasource_url: [YOUR_DATASOURCE_URL] # Example: "http://victoriametrics:8428/"
+```
+
+### Monitoring
+
+*vmanomaly* can be monitored by using push or pull approach.
+It can push metrics to VictoriaMetrics or expose metrics in Prometheus exposition format.
+
+> For a detailed description, see [monitoring section](/anomaly-detection/components/monitoring.html)
+
+#### Push approach
+
+*vmanomaly* can push metrics to VictoriaMetrics single-node or cluster version.
+In order to enable push approach, specify `push` section in config file:
+
+```yaml
+monitoring:
+   push:
+      url: [YOUR_DATASOURCE_URL] #Example: "http://victoriametrics:8428/"
+      extra_labels:
+         job: "vmanomaly-push"
+```
+
+#### Pull approach
+
+*vmanomaly* can export internal metrics in Prometheus exposition format at `/metrics` page.
+These metrics can be scraped via [vmagent](https://docs.victoriametrics.com/vmagent.html) or Prometheus.
+
+In order to enable pull approach, specify `pull` section in config file:
+
+```yaml
+monitoring:
+   pull:
+      enable: true
+      port: 8080
+```
+
+This will expose metrics at `http://0.0.0.0:8080/metrics` page.
+
+### Run vmanomaly Docker Container
+
+To use *vmanomaly* you need to pull docker image:
+
+```sh
+docker pull victoriametrics/vmanomaly:1.7.2
+```
+
+> Note: please check what is latest release in [CHANGELOG](/anomaly-detection/CHANGELOG.html)
+
+> Note: `us-docker.pkg.dev/victoriametrics-test/public/vmanomaly-trial` is deprecated since [v1.6.0](/anomaly-detection/CHANGELOG.html#v160). Use [DockerHub repo](https://hub.docker.com/r/victoriametrics/vmanomaly/tags) instead
+
+You can put a tag on it for your convinience:
+
+```sh
+docker image tag victoriametrics/vmanomaly:1.7.2 vmanomaly
+```
+Here is an example of how to run *vmanomaly* docker container with [license file](#licensing):
+
+```sh
+docker run -it --net [YOUR_NETWORK] \
+               -v [YOUR_LICENSE_FILE_PATH]:/license.txt \
+               -v [YOUR_CONFIG_FILE_PATH]:/config.yml \
+               vmanomaly /config.yml \
+               --license-file=/license.txt
+```
+
+### Licensing
+
+The license key can be passed via the following command-line flags:
+```
+  --license LICENSE     See https://victoriametrics.com/products/enterprise/
+                        for trial license
+  --license-file LICENSE_FILE
+                        See https://victoriametrics.com/products/enterprise/
+                        for trial license
+  --license-verify-offline {true,false}
+                        Force offline verification of license code. License is
+                        verified online by default. This flag runs license
+                        verification offline.
+```
+
+
+
+In order to make it easier to monitor the license expiration date, the following metrics are exposed(see
+[Monitoring](#monitoring) section for details on how to scrape them):
+
+```
+# HELP vm_license_expires_at When the license expires as a Unix timestamp in seconds
+# TYPE vm_license_expires_at gauge
+vm_license_expires_at 1.6963776e+09
+# HELP vm_license_expires_in_seconds Amount of seconds until the license expires
+# TYPE vm_license_expires_in_seconds gauge
+vm_license_expires_in_seconds 4.886608e+06
+```
+
+Example alerts for [vmalert](https://docs.victoriametrics.com/vmalert.html):
+
+```yaml
+groups:
+  - name: vm-license
+    # note the `job` label and update accordingly to your setup
+    rules:
+      - alert: LicenseExpiresInLessThan30Days
+        expr: vm_license_expires_in_seconds < 30 * 24 * 3600
+        labels:
+          severity: warning
+        annotations:
+          summary: "{{ $labels.job }} instance {{ $labels.instance }} license expires in less than 30 days"
+          description: "{{ $labels.instance }} of job {{ $labels.job }} license expires in {{ $value | humanizeDuration }}. 
+            Please make sure to update the license before it expires."
+
+      - alert: LicenseExpiresInLessThan7Days
+        expr: vm_license_expires_in_seconds < 7 * 24 * 3600
+        labels:
+          severity: critical
+        annotations:
+          summary: "{{ $labels.job }} instance {{ $labels.instance }} license expires in less than 7 days"
+          description: "{{ $labels.instance }} of job {{ $labels.job }} license expires in {{ $value | humanizeDuration }}. 
+            Please make sure to update the license before it expires."
+```
+
diff --git a/docs/anomaly-detection/README.md b/docs/anomaly-detection/README.md
index 6c9419d251..86234c7ccf 100644
--- a/docs/anomaly-detection/README.md
+++ b/docs/anomaly-detection/README.md
@@ -2,8 +2,6 @@
 # sort: 14
 title: VictoriaMetrics Anomaly Detection
 weight: 0
-disableToc: true
-
 menu:
   docs:
     parent: 'victoriametrics'
@@ -12,6 +10,7 @@ menu:
 
 aliases:
 - /anomaly-detection.html
+- /vmanomaly.html
 ---
 
 # VictoriaMetrics Anomaly Detection
@@ -21,15 +20,15 @@ In the dynamic and complex world of system monitoring, VictoriaMetrics Anomaly D
 ## Practical Guides and Installation
 Begin your VictoriaMetrics Anomaly Detection journey with ease using our guides and installation instructions:
 
-- **Quick Start**: Find out how `vmanomaly` service operates [here](/vmanomaly.html)
+- **Overview**: Find out how `vmanomaly` service operates [here](/anomaly-detection/overview.html)
 - **Integration**: Integrate anomaly detection into your observability ecosystem. Get started [**here**](/anomaly-detection/guides/guide-vmanomaly-vmalert.html).
 
 - **Installation Options**: Select the method that aligns with your technical requirements:
-    - **Docker Installation**: Suitable for containerized environments. See [Docker guide](/vmanomaly.html#run-vmanomaly-docker-container).
+    - **Docker Installation**: Suitable for containerized environments. See [Docker guide](/anomaly-detection/overview#run-vmanomaly-docker-container).
     - **Helm Chart Installation**: Appropriate for those using Kubernetes. See our [Helm charts](https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-anomaly).
 
 
-> Note: starting from [v1.5.0](./CHANGELOG.md#v150) `vmanomaly` requires a [license key](/vmanomaly.html#licensing) to run. You can obtain a trial license key [**here**](https://victoriametrics.com/products/enterprise/trial/index.html).
+> Note: starting from [v1.5.0](./CHANGELOG.md#v150) `vmanomaly` requires a [license key](/anomaly-detection/overview#licensing) to run. You can obtain a trial license key [**here**](https://victoriametrics.com/products/enterprise/trial/index.html).
 
 ## Key Components
 Explore the integral components that configure VictoriaMetrics Anomaly Detection:
diff --git a/docs/anomaly-detection/components/README.md b/docs/anomaly-detection/components/README.md
index ed9f23a588..3b5d36b701 100644
--- a/docs/anomaly-detection/components/README.md
+++ b/docs/anomaly-detection/components/README.md
@@ -1,12 +1,12 @@
 ---
-sort: 1
+sort: 2
 title: Components
-weight: 1
+weight: 2
 menu:
   docs:
     identifier: "vmanomaly-components"
     parent: "anomaly-detection"
-    sort: 1
+    sort: 2
 aliases:
   - /anomaly-detection/components/
   - /anomaly-detection/components/index.html
@@ -14,7 +14,7 @@ aliases:
 
 # Components
 
-This chapter describes different components, that correspond to respective sections of a config to launch VictoriaMetrics Anomaly Detection (or simply [`vmanomaly`](/vmanomaly.html)) service:
+This chapter describes different components, that correspond to respective sections of a config to launch VictoriaMetrics Anomaly Detection (or simply [`vmanomaly`](/anomaly-detection/overview.html)) service:
 
 - [Model(s) section](models.html) - Required
 - [Reader section](reader.html) - Required
diff --git a/docs/anomaly-detection/components/models.md b/docs/anomaly-detection/components/models.md
index dfc57ee467..0bde452789 100644
--- a/docs/anomaly-detection/components/models.md
+++ b/docs/anomaly-detection/components/models.md
@@ -16,7 +16,7 @@ aliases:
 
 # Models
 
-This section describes `Model` component of VictoriaMetrics Anomaly Detection (or simply [`vmanomaly`](/vmanomaly.html)) and the guide of how to define a respective section of a config to launch the service.
+This section describes `Model` component of VictoriaMetrics Anomaly Detection (or simply [`vmanomaly`](/anomaly-detection/overview.html)) and the guide of how to define a respective section of a config to launch the service.
 vmanomaly includes various [built-in models](#built-in-models) and you can integrate your custom model with vmanomaly see [custom model](#custom-model-guide) 
 
 
@@ -471,7 +471,7 @@ us-docker.pkg.dev/victoriametrics-test/public/vmanomaly-trial:latest /config.yam
 
 </div>
 
-Please find more detailed instructions (license, etc.) [here](/vmanomaly.html#run-vmanomaly-docker-container)
+Please find more detailed instructions (license, etc.) [here](/anomaly-detection/overview.html#run-vmanomaly-docker-container)
 
 
 ### Output
diff --git a/docs/anomaly-detection/guides/README.md b/docs/anomaly-detection/guides/README.md
index fa757d6696..5f212e514e 100644
--- a/docs/anomaly-detection/guides/README.md
+++ b/docs/anomaly-detection/guides/README.md
@@ -1,19 +1,19 @@
 ---
 title: Guides
-weight: 2
-sort: 2
+weight: 3
+sort: 3
 menu:
   docs:
     identifier: "anomaly-detection-guides"
     parent: "anomaly-detection"
-    weight: 2
+    weight: 3
 aliases:
   - /anomaly-detection/guides.html
 ---
 
 # Guides
 
-This section holds guides of how to set up and use VictoriaMetrics Anomaly Detection (or simply [`vmanomaly`](/vmanomaly.html)) service, integrating it with different observability components.
+This section holds guides of how to set up and use VictoriaMetrics Anomaly Detection (or simply [`vmanomaly`](/anomaly-detection/overview.html)) service, integrating it with different observability components.
 
 Guides: 
 
diff --git a/docs/anomaly-detection/guides/guide-vmanomaly-vmalert.md b/docs/anomaly-detection/guides/guide-vmanomaly-vmalert.md
index 08690bb411..e52a8147f0 100644
--- a/docs/anomaly-detection/guides/guide-vmanomaly-vmalert.md
+++ b/docs/anomaly-detection/guides/guide-vmanomaly-vmalert.md
@@ -31,7 +31,7 @@ aliases:
 
 ## 1. What is vmanomaly?
 
-*VictoriaMetrics Anomaly Detection* ([vmanomaly](https://docs.victoriametrics.com/vmanomaly.html)) is a service that continuously scans time series stored in VictoriaMetrics and detects unexpected changes within data patterns in real-time. It does so by utilizing user-configurable machine learning models.
+*VictoriaMetrics Anomaly Detection* ([vmanomaly](https://docs.victoriametrics.com/anomaly-detection/overview.html)) is a service that continuously scans time series stored in VictoriaMetrics and detects unexpected changes within data patterns in real-time. It does so by utilizing user-configurable machine learning models.
 
 All the service parameters are defined in a config file.
 
@@ -66,8 +66,8 @@ Compared to classical alerting rules, anomaly detection is more "hands-off" and
 Practical use case is to put anomaly score generated by vmanomaly into alerting rules with some threshold. 
 
 **In this tutorial we are going to:**
-  - Configure docker-compose file with all needed services ([VictoriaMetrics Single-Node](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html), [vmalert](https://docs.victoriametrics.com/vmalert.html), [vmagent](https://docs.victoriametrics.com/vmagent.html), [Grafana](https://grafana.com/), [Node Exporter](https://prometheus.io/docs/guides/node-exporter/) and [vmanomaly](https://docs.victoriametrics.com/vmanomaly.html) ).
-  - Explore configuration files for [vmanomaly](https://docs.victoriametrics.com/vmanomaly.html) and [vmalert](https://docs.victoriametrics.com/vmalert.html).
+  - Configure docker-compose file with all needed services ([VictoriaMetrics Single-Node](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html), [vmalert](https://docs.victoriametrics.com/vmalert.html), [vmagent](https://docs.victoriametrics.com/vmagent.html), [Grafana](https://grafana.com/), [Node Exporter](https://prometheus.io/docs/guides/node-exporter/) and [vmanomaly](https://docs.victoriametrics.com/anomaly-detection/overview.html) ).
+  - Explore configuration files for [vmanomaly](https://docs.victoriametrics.com/anomaly-detection/overview.html) and [vmalert](https://docs.victoriametrics.com/vmalert.html).
   - Run our own [VictoriaMetrics](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html) database with data scraped from [Node Exporter](https://prometheus.io/docs/guides/node-exporter/).
   - Explore data for analysis in [Grafana](https://grafana.com/).
   - Explore `vmanomaly` results.
@@ -273,7 +273,7 @@ scrape_configs:
 ### vmanomaly licencing
 
 We are going to use license stored locally in file `vmanomaly_license.txt` with key in it.
-You can explore other license options [here](https://docs.victoriametrics.com/vmanomaly.html#licensing)
+You can explore other license options [here](https://docs.victoriametrics.com/anomaly-detection/overview#licensing)
 
 ### Alertmanager setup 
 
diff --git a/docs/anomaly-detection/vmanomaly-holtwinters-example.webp b/docs/anomaly-detection/vmanomaly-holtwinters-example.webp
new file mode 100644
index 0000000000000000000000000000000000000000..3da8a9e44f2cd05b1033ef8fc44347f5bac6a4f0
GIT binary patch
literal 26590
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

literal 0
HcmV?d00001

diff --git a/docs/anomaly-detection/vmanomaly-prophet-example.webp b/docs/anomaly-detection/vmanomaly-prophet-example.webp
new file mode 100644
index 0000000000000000000000000000000000000000..6c9c7870f9c8a4142b2ffd5c57aa678c9b91278b
GIT binary patch
literal 26430
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%0DGEi1zMq$GOis5Qki?e}o_dL@dS
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
WN7euU0000000000000000000yDyE<S

literal 0
HcmV?d00001

diff --git a/docs/enterprise.md b/docs/enterprise.md
index 38d7657873..8d0ee870a2 100644
--- a/docs/enterprise.md
+++ b/docs/enterprise.md
@@ -55,7 +55,7 @@ plus the following additional features:
 - [Multitenant support in vmalert](https://docs.victoriametrics.com/vmalert.html#multitenancy).
 - [Ability to read alerting and recording rules from Object Storage](https://docs.victoriametrics.com/vmalert.html#reading-rules-from-object-storage).
 - [Ability to filter incoming requests by IP at vmauth](https://docs.victoriametrics.com/vmauth.html#ip-filters).
-- [Anomaly Detection Service](https://docs.victoriametrics.com/vmanomaly.html).
+- [Anomaly Detection Service](https://docs.victoriametrics.com/anomaly-detection).
 
 On top of this, Enterprise package of VictoriaMetrics includes the following important Enterprise features:
 
diff --git a/docs/vmanomaly.md b/docs/vmanomaly.md
index 2daa745d0c..ea44eaf2c4 100644
--- a/docs/vmanomaly.md
+++ b/docs/vmanomaly.md
@@ -6,290 +6,8 @@ menu:
   docs:
     parent: 'victoriametrics'
     weight: 11
-aliases:
-- /vmanomaly.html
 ---
 
-# vmanomaly
-
-**_vmanomaly_ is a part of [enterprise package](https://docs.victoriametrics.com/enterprise.html). You need to request a [free trial license](https://victoriametrics.com/products/enterprise/trial/) for evaluation.**
-
-Please head to to [Anomaly Detection section](/anomaly-detection) to find out more.
-
-## About
-
-**VictoriaMetrics Anomaly Detection** (or shortly, `vmanomaly`) is a service that continuously scans VictoriaMetrics time
-series and detects unexpected changes within data patterns in real-time. It does so by utilizing
-user-configurable machine learning models.
-
-It periodically queries user-specified metrics, computes an “anomaly score” for them, based on how
-well they fit a predicted distribution, taking into account periodical data patterns with trends,
-and pushes back the computed “anomaly score” to VictoriaMetrics. Then, users can enable alerting
-rules based on the “anomaly score”.
-
-Compared to classical alerting rules, anomaly detection is more “hands-off” i.e. it allows users to
-avoid setting up manual alerting rules set up and catching anomalies that were not expected to happen.
-In other words, by setting up alerting rules, a user must know what to look for, ahead of time,
-while anomaly detection looks for any deviations from past behavior.
-
-In addition to that, setting up alerting rules manually has been proven to be tedious and
-error-prone, while anomaly detection can be easier to set up, and use the same model for different
-metrics.
-
-## How?
-
-VictoriaMetrics Anomaly Detection service (**vmanomaly**) allows you to apply several built-in
-anomaly detection algorithms. You can also plug in your own detection models, code doesn’t make any
-distinction between built-in models or external ones.
-
-All the service parameters (model, schedule, input-output) are defined in a config file.
-
-Single config file supports only one model, but it’s totally OK to run multiple **vmanomaly**
-processes in parallel, each using its own config.
-
-## Models
-
-Currently, vmanomaly ships with a set of built-in models:
-> For a detailed overview, see [model section](/anomaly-detection/components/models.html)
-
-1. [**ZScore**](/anomaly-detection/components/models.html#z-score)
-
-   _(useful for testing)_
-
-   Simplistic model, that detects outliers as all the points that lie farther than a certain amount
-   from time-series mean (straight line). Keeps only two model parameters internally:
-   `mean` and `std` (standard deviation).
-
-1. [**Prophet**](/anomaly-detection/components/models.html#prophet)
-
-   _(simplest in configuration, recommended for getting started)_
-
-   Uses Facebook Prophet for forecasting. The _anomaly score_ is computed of how close the actual time
-   series values follow the forecasted values (_yhat_), and whether it’s within forecasted bounds
-   (_yhat_lower_, _yhat_upper_). The _anomaly score_ reaches 1.0 if the actual data values 
-   are equal to
-   _yhat_lower_ or _yhat_upper_. The _anomaly score_ is above 1.0 if the actual data values are 
-   outside
-   the _yhat_lower_/_yhat_upper_ bounds.
-
-   See [Prophet documentation](https://facebook.github.io/prophet/)
-
-1. [**Holt-Winters**](/anomaly-detection/components/models.html#holt-winters)
-
-   Very popular forecasting algorithm. See [statsmodels.org documentation](
-   https://www.statsmodels.org/stable/generated/statsmodels.tsa.holtwinters.ExponentialSmoothing.html)
-   for Holt-Winters exponential smoothing.
-
-1. [**Seasonal-Trend Decomposition**](/anomaly-detection/components/models.html#seasonal-trend-decomposition)
-
-   Extracts three components: season, trend, and residual, that can be plotted individually for
-   easier debugging. Uses LOESS (locally estimated scatterplot smoothing).
-   See [statsmodels.org documentation](https://www.statsmodels.org/dev/examples/notebooks/generated/stl_decomposition.html)
-   for LOESS STD.
-
-1. [**ARIMA**](/anomaly-detection/components/models.html#arima)
-
-   Commonly used forecasting model. See [statsmodels.org documentation](https://www.statsmodels.org/stable/generated/statsmodels.tsa.arima.model.ARIMA.html) for ARIMA.
-
-1. [**Rolling Quantile**](/anomaly-detection/components/models.html#rolling-quantile)
-
-   A simple moving window of quantiles. Easy to use, easy to understand, but not as powerful as 
-   other models.
-
-1. [**Isolation Forest**](/anomaly-detection/components/models.html#isolation-forest-multivariate)
-
-   Detects anomalies using binary trees. It works for both univariate and multivariate data. Be aware of [the curse of dimensionality](https://en.wikipedia.org/wiki/Curse_of_dimensionality) in the case of multivariate data - we advise against using a single model when handling multiple time series *if the number of these series significantly exceeds their average length (# of data points)*.
-   
-   The algorithm has a linear time complexity and a low memory requirement, which works well with high-volume data. See [scikit-learn.org documentation](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.IsolationForest.html) for Isolation Forest.
-
-
-1. [**MAD (Median Absolute Deviation)**](anomaly-detection/components/models.html#mad-median-absolute-deviation)
-  
-    A robust method for anomaly detection that is less sensitive to outliers in data compared to standard deviation-based models. It considers a point as an anomaly if the absolute deviation from the median is significantly large.
-
-
-### Examples
-For example, here’s how Prophet predictions could look like on a real-data example  
-(Prophet auto-detected seasonality interval):
-
-<img alt="propher-example" src="vmanomaly-prophet-example.webp">
-
-And here’s what Holt-Winters predictions real-world data could look like (seasonality manually 
- set to 1 week). Notice that it predicts anomalies in 
-different places than Prophet because the model noticed there are usually spikes on Friday 
-morning, so it accounted for that:
-
-<img alt="holtwinters-example" src="vmanomaly-holtwinters-example.webp">
-
-## Process
-Upon starting, vmanomaly queries the initial range of data, and trains its model (“fit” by convention).
-
-Then, reads new data from VictoriaMetrics, according to schedule, and invokes its model to compute 
-“anomaly score” for each data point. The anomaly score ranges from 0 to positive infinity. 
-Values less than 1.0 are considered “not an anomaly”, values greater or equal than 1.0 are 
-considered “anomalous”, with greater values corresponding to larger anomaly.
-Then, vmanomaly pushes the metric to vminsert (under the user-configured metric name, 
-optionally preserving labels).
-
- 
-## Usage
-> Starting from [v1.5.0](/anomaly-detection/CHANGELOG.html#v150), vmanomaly requires a license key to run. You can obtain a trial license key [here](https://victoriametrics.com/products/enterprise/trial/).
-
-> See [Getting started guide](anomaly-detection/guides/guide-vmanomaly-vmalert.html).
-
-### Config file
-There are 4 required sections in config file:
-
-* [`scheduler`](/anomaly-detection/components/scheduler.html) - defines how often to run and make inferences, as well as what timerange to use to train the model. 
-* [`model`](/anomaly-detection/components/models.html) - specific model parameters and configurations, 
-* [`reader`](/anomaly-detection/components/reader.html) - how to read data and where it is located
-* [`writer`](/anomaly-detection/components/writer.html) - where and how to write the generated output.
-
-[`monitoring`](#monitoring) - defines how to monitor work of *vmanomaly* service. This config section is *optional*.
-
-> For a detailed description, see [config sections](/anomaly-detection/components)
-
-#### Config example
-Here is an example of config file that will run FB Prophet model, that will be retrained every 2 hours on 14 days of previous data. It will generate inference (including `anomaly_score` metric) every 1 minute.
-
-
-You need to put your datasource urls to use it:
-
-```yaml
-scheduler:
-  infer_every: "1m"
-  fit_every: "2h"
-  fit_window: "14d"
-
-model:
-  class: "model.prophet.ProphetModel"
-  args:
-    interval_width: 0.98
-
-reader:
-  datasource_url: [YOUR_DATASOURCE_URL] #Example: "http://victoriametrics:8428/"
-  queries:
-    cache: "sum(rate(vm_cache_entries))"
-
-writer:
-  datasource_url: [YOUR_DATASOURCE_URL] # Example: "http://victoriametrics:8428/"
-```
-
-### Monitoring
-
-*vmanomaly* can be monitored by using push or pull approach.
-It can push metrics to VictoriaMetrics or expose metrics in Prometheus exposition format.
-
-> For a detailed description, see [monitoring section](/anomaly-detection/components/monitoring.html)
-
-#### Push approach
-
-*vmanomaly* can push metrics to VictoriaMetrics single-node or cluster version.
-In order to enable push approach, specify `push` section in config file:
-
-```yaml
-monitoring:
-   push:
-      url: [YOUR_DATASOURCE_URL] #Example: "http://victoriametrics:8428/"
-      extra_labels:
-         job: "vmanomaly-push"
-```
-
-#### Pull approach
-
-*vmanomaly* can export internal metrics in Prometheus exposition format at `/metrics` page.
-These metrics can be scraped via [vmagent](https://docs.victoriametrics.com/vmagent.html) or Prometheus.
-
-In order to enable pull approach, specify `pull` section in config file:
-
-```yaml
-monitoring:
-   pull:
-      enable: true
-      port: 8080
-```
-
-This will expose metrics at `http://0.0.0.0:8080/metrics` page.
-
-### Run vmanomaly Docker Container
-
-To use *vmanomaly* you need to pull docker image:
-
-```sh
-docker pull victoriametrics/vmanomaly:1.7.2
-```
-
-> Note: please check what is latest release in [CHANGELOG](/anomaly-detection/CHANGELOG.html)
-
-> Note: `us-docker.pkg.dev/victoriametrics-test/public/vmanomaly-trial` is deprecated since [v1.6.0](/anomaly-detection/CHANGELOG.html#v160). Use [DockerHub repo](https://hub.docker.com/r/victoriametrics/vmanomaly/tags) instead
-
-You can put a tag on it for your convinience:
-
-```sh
-docker image tag victoriametrics/vmanomaly:1.7.2 vmanomaly
-```
-Here is an example of how to run *vmanomaly* docker container with [license file](#licensing):
-
-```sh
-docker run -it --net [YOUR_NETWORK] \
-               -v [YOUR_LICENSE_FILE_PATH]:/license.txt \
-               -v [YOUR_CONFIG_FILE_PATH]:/config.yml \
-               vmanomaly /config.yml \
-               --license-file=/license.txt
-```
-
-### Licensing
-
-The license key can be passed via the following command-line flags:
-```
-  --license LICENSE     See https://victoriametrics.com/products/enterprise/
-                        for trial license
-  --license-file LICENSE_FILE
-                        See https://victoriametrics.com/products/enterprise/
-                        for trial license
-  --license-verify-offline {true,false}
-                        Force offline verification of license code. License is
-                        verified online by default. This flag runs license
-                        verification offline.
-```
-
-
-
-In order to make it easier to monitor the license expiration date, the following metrics are exposed(see
-[Monitoring](#monitoring) section for details on how to scrape them):
-
-```
-# HELP vm_license_expires_at When the license expires as a Unix timestamp in seconds
-# TYPE vm_license_expires_at gauge
-vm_license_expires_at 1.6963776e+09
-# HELP vm_license_expires_in_seconds Amount of seconds until the license expires
-# TYPE vm_license_expires_in_seconds gauge
-vm_license_expires_in_seconds 4.886608e+06
-```
-
-Example alerts for [vmalert](https://docs.victoriametrics.com/vmalert.html):
-
-```yaml
-groups:
-  - name: vm-license
-    # note the `job` label and update accordingly to your setup
-    rules:
-      - alert: LicenseExpiresInLessThan30Days
-        expr: vm_license_expires_in_seconds < 30 * 24 * 3600
-        labels:
-          severity: warning
-        annotations:
-          summary: "{{ $labels.job }} instance {{ $labels.instance }} license expires in less than 30 days"
-          description: "{{ $labels.instance }} of job {{ $labels.job }} license expires in {{ $value | humanizeDuration }}. 
-            Please make sure to update the license before it expires."
-
-      - alert: LicenseExpiresInLessThan7Days
-        expr: vm_license_expires_in_seconds < 7 * 24 * 3600
-        labels:
-          severity: critical
-        annotations:
-          summary: "{{ $labels.job }} instance {{ $labels.instance }} license expires in less than 7 days"
-          description: "{{ $labels.instance }} of job {{ $labels.job }} license expires in {{ $value | humanizeDuration }}. 
-            Please make sure to update the license before it expires."
-```
+vmanomaly currently has own section.
 
+Please head to [Anomaly Detection section](/anomaly-detection) to find out more.