From aa01bb93492352855a538989ea67ec8bbab030c1 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Wed, 17 Nov 2021 00:56:01 +0200 Subject: [PATCH] app/vmalert/README.md: sync with docs/vmalert.md This is a follow-up after d8c70903ecd6d154ea1922c2ad7bc265f9c0a07f --- app/vmalert/README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/vmalert/README.md b/app/vmalert/README.md index 35620c20d..3bbe6e456 100644 --- a/app/vmalert/README.md +++ b/app/vmalert/README.md @@ -37,11 +37,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: ``` @@ -49,12 +50,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