VictoriaMetrics/docs/anomaly-detection/QuickStart.md
Daria Karavaieva b2baf7d472
Vmanomaly QuickStart (#5800)
* first edit

* typo 1

* typo 2

* fixes 3

* fixes 4

* fixes 5

* fixes, cross links

* v1.10 config

* models why, self-monitoring fix

* config next steps

* fixes

* minor fix
2024-02-20 15:20:57 +01:00

4.3 KiB

sort weight title menu aliases
1 1 VictoriaMetrics Anomaly Detection Quick Start
docs
parent weight title
anomaly-detection 1 Quick Start
/anomaly-detection/QuickStart.html

VictoriaMetrics Anomaly Detection Quick Start

For service introduction visit README page and Overview of how vmanomaly works.

How to install and run vmanomaly

To run vmanomaly you need to have VictoriaMetrics Enterprise license. You can get a trial license key here.

The following options are available:

Docker

To run vmanomaly you need to have a VictoriaMetrics Enterprise licence or request a trial here.

Below are the steps to get vmanomaly up and running inside a Docker container:

  1. Pull Docker image:
docker pull victoriametrics/vmanomaly:latest
  1. (Optional step) tag the vmanomaly Docker image:
docker image tag victoriametrics/vmanomaly:latest vmanomaly
  1. Start the vmanomaly Docker container with a license file, use the command below. Make sure to replace YOUR_LICENSE_FILE_PATH, and YOUR_CONFIG_FILE_PATH with your specific details:
export YOUR_LICENSE_FILE_PATH=path/to/license/file
export YOUR_CONFIG_FILE_PATH=path/to/config/file
docker run -it -v $YOUR_LICENSE_FILE_PATH:/license \
               -v $YOUR_CONFIG_FILE_PATH:/config.yml \
               vmanomaly /config.yml \
               --license-file=/license

See also:

Kubernetes with Helm charts

You can run vmanomaly in Kubernetes environment with these Helm charts.

How to configure vmanomaly

To run vmanomaly you need to set up configuration file in yaml format.

Here is an example of config file that will run Facebook 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.

scheduler:
  infer_every: "1m"
  fit_every: "2h"
  fit_window: "14d"

models:
  prophet_model:
    class: "model.prophet.ProphetModel"
    args:
      interval_width: 0.98

reader:
  datasource_url: "http://victoriametrics:8428/" # [YOUR_DATASOURCE_URL]
  sampling_period: "1m"
  queries: 
    # define your queries with MetricsQL - https://docs.victoriametrics.com/metricsql/
    cache: "sum(rate(vm_cache_entries))"

writer:
  datasource_url:  "http://victoriametrics:8428/" # [YOUR_DATASOURCE_URL]

Next steps:

  • Define how often to run and make inferences in the scheduler section of a config file.
  • Setup the datasource to read data from in the reader section.
  • Specify where and how to store anomaly detection metrics in the writer section.
  • Configure built-in models parameters according to your needs in the models section.
  • Integrate your custom models with vmanomaly.
  • Define queries for input data use MetricsQL.

Check also

Here are other materials that you might find useful: