From 2c58b4645699258d5e6d440eab4711acdf7ec29d Mon Sep 17 00:00:00 2001 From: Vika Date: Tue, 20 Feb 2024 15:23:14 +0000 Subject: [PATCH] update wiki pages --- CHANGELOG.md | 3 +- anomaly-detection/Overview.md | 16 ++-- anomaly-detection/QuickStart.md | 115 +++++++++++++++++++++++++ anomaly-detection/README.md | 1 + anomaly-detection/components/models.md | 4 +- vmctl.md | 8 ++ 6 files changed, 137 insertions(+), 10 deletions(-) create mode 100644 anomaly-detection/QuickStart.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 86b87ae..26ca37c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,8 +34,7 @@ See also [LTS releases](https://docs.victoriametrics.com/LTS-releases.html). * FEATURE: [Single-node VictoriaMetrics](https://docs.victoriametrics.com/) and `vmstorage` in [VictoriaMetrics cluster](https://docs.victoriametrics.com/cluster-victoriametrics/): expose `vm_last_partition_parts` [metrics](https://docs.victoriametrics.com/#monitoring), which show the number of [parts in the latest partition](https://docs.victoriametrics.com/#storage). These metrics may help debugging query performance slowdown related to the increased number of parts in the last partition, since usually all the ingested data is written to the last partition and all the queries are performed over the recently ingested data, e.g. the last partition. * FEATURE: [vmagent](https://docs.victoriametrics.com/vmagent.html): add support for `client_id` option into [kuma_sd_configs](https://docs.victoriametrics.com/sd_configs/#kuma_sd_configs) in the same way as Prometheus does. See [this pull request](https://github.com/prometheus/prometheus/pull/13278). * FEATURE: [vmagent](https://docs.victoriametrics.com/vmagent.html): add support for `enable_compression` option in [scrape_configs](https://docs.victoriametrics.com/sd_configs/#scrape_configs) in order to be compatible with Prometheus scrape configs. See [this pull request](https://github.com/prometheus/prometheus/pull/13166) and [this feature request](https://github.com/prometheus/prometheus/issues/12319). Note that `vmagent` was always supporting [`disable_compression` option](https://docs.victoriametrics.com/vmagent/#scrape_config-enhancements) before Prometheus added `enable_compression` option. -* FEATURE: [vmctl](https://docs.victoriametrics.com/vmctl.html): support client-side TLS configuration for [InfluxDB](https://docs.victoriametrics.com/vmctl/#migrating-data-from-influxdb-1x). See [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5748). Thanks to @khushijain21 for [the pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5783). -* FEATURE: [vmctl](https://docs.victoriametrics.com/vmctl.html): support client-side TLS configuration for [Remote Read protocol](https://docs.victoriametrics.com/vmctl/#migrating-data-by-remote-read-protocol). See [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5748). Thanks to @khushijain21 for [the pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5798). +* FEATURE: [vmctl](https://docs.victoriametrics.com/vmctl.html): support client-side TLS configuration for [InfluxDB](https://docs.victoriametrics.com/vmctl/#migrating-data-from-influxdb-1x), [Remote Read protocol](https://docs.victoriametrics.com/vmctl/#migrating-data-by-remote-read-protocol) and [OpenTSDB](https://docs.victoriametrics.com/vmctl/#migrating-data-from-opentsdb). See [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5748). Thanks to @khushijain21 for pull requests [1](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5783), [2](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5798), [3](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5797). * FEATURE: [vmui](https://docs.victoriametrics.com/#vmui): preserve [`WITH` templates](https://play.victoriametrics.com/select/accounting/1/6a716b0f-38bc-4856-90ce-448fd713e3fe/expand-with-exprs) when clicking the `prettify query` button at the right side of query input field. See [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5383). * FEATURE: [vmalert](https://docs.victoriametrics.com/#vmalert): support filtering by group, rule or labels in [vmalert's UI](https://docs.victoriametrics.com/vmalert/#web) for `/groups` and `/alerts` pages. See [the pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5791) by @victoramsantos. diff --git a/anomaly-detection/Overview.md b/anomaly-detection/Overview.md index 71e8f0b..f788b3c 100644 --- a/anomaly-detection/Overview.md +++ b/anomaly-detection/Overview.md @@ -136,7 +136,9 @@ 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). +> See [Quickstart](/anomaly-detection/QuickStart.html). + +> See [Integration guide: vmanomaly and vmalert](anomaly-detection/guides/guide-vmanomaly-vmalert.html). ### Config file There are 4 required sections in config file: @@ -218,7 +220,7 @@ This will expose metrics at `http://0.0.0.0:8080/metrics` page. To use *vmanomaly* you need to pull docker image: ```sh -docker pull victoriametrics/vmanomaly:v1.10.0 +docker pull victoriametrics/vmanomaly:latest ``` > Note: please check what is latest release in [CHANGELOG](/anomaly-detection/CHANGELOG.html) @@ -228,16 +230,18 @@ docker pull victoriametrics/vmanomaly:v1.10.0 You can put a tag on it for your convinience: ```sh -docker image tag victoriametrics/vmanomaly:v1.10.0 vmanomaly +docker image tag victoriametrics/vmanomaly:latest vmanomaly ``` Here is an example of how to run *vmanomaly* docker container with [license file](#licensing): ```sh +export YOUR_LICENSE_FILE_PATH=path/to/license/file +export YOUR_CONFIG_FILE_PATH=path/to/config/file docker run -it --net [YOUR_NETWORK] \ - -v [YOUR_LICENSE_FILE_PATH]:/license.txt \ - -v [YOUR_CONFIG_FILE_PATH]:/config.yml \ + -v YOUR_LICENSE_FILE_PATH:/license \ + -v YOUR_CONFIG_FILE_PATH:/config.yml \ vmanomaly /config.yml \ - --license-file=/license.txt + --license-file=/license ``` ### Licensing diff --git a/anomaly-detection/QuickStart.md b/anomaly-detection/QuickStart.md new file mode 100644 index 0000000..23aaa65 --- /dev/null +++ b/anomaly-detection/QuickStart.md @@ -0,0 +1,115 @@ +--- +sort: 1 +weight: 1 +title: VictoriaMetrics Anomaly Detection Quick Start +menu: + docs: + parent: "anomaly-detection" + weight: 1 + title: Quick Start +aliases: +- /anomaly-detection/QuickStart.html +--- + +# VictoriaMetrics Anomaly Detection Quick Start + +For service introduction visit [README](/anomaly-detection/) page +and [Overview](/anomaly-detection/overview.html) 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**](https://victoriametrics.com/products/enterprise/trial/index.html). + +The following options are available: + +- [To run Docker image](#docker-image) +- [To run in Kubernetes with Helm charts](#helm-charts) + + +### Docker +> To run `vmanomaly` you need to have a VictoriaMetrics Enterprise [licence](https://victoriametrics.com/products/enterprise/) or request a trial [here](https://victoriametrics.com/products/enterprise/trial/index.html). + +Below are the steps to get `vmanomaly` up and running inside a Docker container: + +1. Pull Docker image: + +```sh +docker pull victoriametrics/vmanomaly:latest +``` + +2. (Optional step) tag the `vmanomaly` Docker image: + +```sh +docker image tag victoriametrics/vmanomaly:latest vmanomaly +``` + +3. 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**: + +```sh +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: + +- You can verify licence online and offline. See the details [here](/anomaly-detection/overview/#licensing). +- [How to configure `vmanomaly`](#how-to-configure-vmanomaly) + +### Kubernetes with Helm charts + +You can run `vmanomaly` in Kubernetes environment +with [these Helm charts](https://github.com/VictoriaMetrics/helm-charts/blob/master/charts/victoria-metrics-anomaly/README.md). + + +## 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](https://facebook.github.io/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. + + +```yaml +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](/anomaly-detection/components/scheduler/) section of a config file. +- Setup the datasource to read data from in the [reader](/anomaly-detection/components/reader/) section. +- Specify where and how to store anomaly detection metrics in the [writer](/anomaly-detection/components/writer/) section. +- Configure built-in models parameters according to your needs in the [models](/anomaly-detection/components/models/) section. +- Integrate your [custom models](/anomaly-detection/components/models/#custom-model-guide) with `vmanomaly`. +- Define queries for input data using [MetricsQL](https://docs.victoriametrics.com/metricsql/). + + +## Check also + +Here are other materials that you might find useful: + +- [Guide: Anomaly Detection and Alerting Setup](/anomaly-detection/guides/guide-vmanomaly-vmalert/) +- [FAQ](/anomaly-detection/faq/) +- [Changelog](/anomaly-detection/changelog/) +- [Anomaly Detection Blog](https://victoriametrics.com/blog/tags/anomaly-detection/) \ No newline at end of file diff --git a/anomaly-detection/README.md b/anomaly-detection/README.md index 07ae159..9939068 100644 --- a/anomaly-detection/README.md +++ b/anomaly-detection/README.md @@ -14,6 +14,7 @@ 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: +- **Quickstart**: Check out how to get `vmanomaly` up and running [here](/anomaly-detection/QuickStart.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). diff --git a/anomaly-detection/components/models.md b/anomaly-detection/components/models.md index a190f55..a04df21 100644 --- a/anomaly-detection/components/models.md +++ b/anomaly-detection/components/models.md @@ -446,9 +446,9 @@ The default metrics produced by vmanomaly include: **Important**: Be aware that if `NaN` (Not a Number) or `Inf` (Infinity) values are present in the input data during `infer` model calls, the model will produce `NaN` as the `anomaly_score` for these particular instances. -## Healthcheck metrics +## `vmanomaly` monitoring metrics -Each model exposes [several healthchecks metrics](/anomaly-detection/components/monitoring.html#models-behaviour-metrics) to its `health_path` endpoint: +Each model exposes [several monitoring metrics](/anomaly-detection/components/monitoring.html#models-behaviour-metrics) to its `health_path` endpoint: ## Custom Model Guide diff --git a/vmctl.md b/vmctl.md index 1359392..99c9812 100644 --- a/vmctl.md +++ b/vmctl.md @@ -207,6 +207,14 @@ http://opentsdb:4242/api/query?start=721h-ago&end=720h-ago&m=sum:1m-avg-none: