From 89650de497cff9d91a99015f4cb376e355dce5ea Mon Sep 17 00:00:00 2001 From: Florian Klink <flokli@flokli.de> Date: Tue, 16 Nov 2021 23:54:06 +0100 Subject: [PATCH] docs/vmalert.md: document vmalert url flags a bit more cleanly (#1823) Describe remoteWrite.url is used to persist rules and alerts state info, and add an additional paragraph explaining the separation between -remoteRead.url and -datasource.url. Fixes #1810. --- docs/vmalert.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/vmalert.md b/docs/vmalert.md index 5dd5ab0817..9ae86fe0dc 100644 --- a/docs/vmalert.md +++ b/docs/vmalert.md @@ -41,11 +41,12 @@ The build binary will be placed to `VictoriaMetrics/bin` folder. To start using `vmalert` you will need the following things: * list of rules - PromQL/MetricsQL expressions to execute; -* datasource address - reachable VictoriaMetrics instance for rules execution; +* datasource address - reachable MetricsQL endpoint to run queries against; * notifier address - reachable [Alert Manager](https://github.com/prometheus/alertmanager) instance for processing, aggregating alerts and sending notifications. * remote write address [optional] - [remote write](https://prometheus.io/docs/prometheus/latest/storage/#remote-storage-integrations) -compatible storage address for storing recording rules results and alerts state in for of timeseries. + compatible storage to persist rules and alerts state info; +* remote read address [optional] - MetricsQL compatible datasource to restore alerts state from. Then configure `vmalert` accordingly: ``` @@ -53,12 +54,18 @@ Then configure `vmalert` accordingly: -datasource.url=http://localhost:8428 \ # PromQL compatible datasource -notifier.url=http://localhost:9093 \ # AlertManager URL -notifier.url=http://127.0.0.1:9093 \ # AlertManager replica URL - -remoteWrite.url=http://localhost:8428 \ # Remote write compatible storage to persist rules + -remoteWrite.url=http://localhost:8428 \ # Remote write compatible storage to persist rules and alerts state info -remoteRead.url=http://localhost:8428 \ # MetricsQL compatible datasource to restore alerts state from -external.label=cluster=east-1 \ # External label to be applied for each rule -external.label=replica=a # Multiple external labels may be set ``` +Note there's a separate `remoteRead.url` to allow writing results of +alerting/recording rules into a different storage than the initial data that's +queried. This allows using `vmalert` to aggregate data from a short-term, +high-frequency, high-cardinality storage into a long-term storage with +decreased cardinality and a bigger interval between samples. + See the full list of configuration flags in [configuration](#configuration) section. If you run multiple `vmalert` services for the same datastore or AlertManager - do not forget