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:
Note: Starting from v1.13.0 there is a mode to keep anomaly detection models on host filesystem after
fit
stage (instead of keeping them in-memory by default); This may lead to noticeable reduction of RAM used on bigger setups. See instructions here.
Docker #
To run
vmanomaly
, you need to have VictoriaMetrics Enterprise license. You can get a trial license key here.
Below are the steps to get vmanomaly
up and running inside a Docker container:
- Pull Docker image:
docker pull victoriametrics/vmanomaly:latest
- (Optional step) tag the
vmanomaly
Docker image:
docker image tag victoriametrics/vmanomaly:latest vmanomaly
- Start the
vmanomaly
Docker container with a license file, use the command below. Make sure to replaceYOUR_LICENSE_FILE_PATH
, andYOUR_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
In case you found PermissionError: [Errno 13] Permission denied:
in vmanomaly
logs, set user/user group to 1000 in the run command above / in a docker-compose file:
export YOUR_LICENSE_FILE_PATH=path/to/license/file
export YOUR_CONFIG_FILE_PATH=path/to/config/file
docker run -it --user 1000:1000 \
-v $YOUR_LICENSE_FILE_PATH:/license \
-v $YOUR_CONFIG_FILE_PATH:/config.yml \
vmanomaly /config.yml \
--license-file=/license
# docker-compose file
services:
# ...
vmanomaly:
image: victoriametrics/vmanomaly:latest
volumes:
$YOUR_LICENSE_FILE_PATH:/license
$YOUR_CONFIG_FILE_PATH:/config.yml
command:
- "/config.yml"
- "--license-file=/license"
# ...
For a complete docker-compose example please refer to our alerting guide, chapter docker-compose
See also:
- Verify the license online OR offline. See the details here.
- How to configure
vmanomaly
Kubernetes with Helm charts #
To run
vmanomaly
, you need to have VictoriaMetrics Enterprise license. You can get a trial license key here.
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.
schedulers:
2h_1m:
# https://docs.victoriametrics.com/anomaly-detection/components/scheduler/#periodic-scheduler
class: 'periodic'
infer_every: '1m'
fit_every: '2h'
fit_window: '2w'
models:
# https://docs.victoriametrics.com/anomaly-detection/components/models/#prophet
prophet_model:
class: "prophet" # or "model.prophet.ProphetModel" until v1.13.0
args:
interval_width: 0.98
reader:
# https://docs.victoriametrics.com/anomaly-detection/components/reader/#vm-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:
# https://docs.victoriametrics.com/anomaly-detection/components/writer/#vm-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 using MetricsQL.
Check also #
Here are other materials that you might find useful: