VictoriaMetrics/app
Roman Khavronenko 3adf8c5a6f
vmalert: explicitly set extra labels to alert entities (#886)
The previous implementation treated extra labels (global and rule labels) as
separate label set to returned time series labels. Hence, time series always contained
only original labels and alert ID was generated from sorted labels key-values.
Extra labels didn't affect the generated ID and were applied on the following actions:
- templating for Summary and Annotations;
- persisting state via remote write;
- restoring state via remote read.

Such behaviour caused difficulties on restore procedure because extra labels had to be dropped
before checking the alert ID, but that not always worked. Consider the case when expression
returns the following time series `up{job="foo"}` and rule has extra label `job=bar`.
This would mean that restored alert ID will be always different to the real time series because
of collision.

To solve the situation extra labels are now always applied beforehand and `vmalert` doesn't
store original labels anymore. However, this could result into a new error situation.
Consider the case when expression returns two time series `up{job="foo"}` and `up{job="baz"}`,
while rule has extra label `job=bar`. In such case, applying extra labels will result into
two identical time series and `vmalert` will return error:
 `result contains metrics with the same labelset after applying rule labels`

https://github.com/VictoriaMetrics/VictoriaMetrics/issues/870
2020-11-10 00:27:32 +02:00
..
victoria-metrics app/victoria-metrics: add a link to https://victoriametrics.github.io/ from main page 2020-10-06 15:29:49 +03:00
vmagent lib/promscrape: add -promscrape.dropOriginalLabels command-line flag for reducing memory usage when discovering big number of scrape targets 2020-11-10 00:19:57 +02:00
vmalert vmalert: explicitly set extra labels to alert entities (#886) 2020-11-10 00:27:32 +02:00
vmauth docs: improve readability a bit 2020-09-29 13:03:38 +03:00
vmbackup vmbackup fix panic when no origin fs given (#859) 2020-10-28 20:09:10 +02:00
vminsert lib/promscrape: clean references to label name and label value strings after applying per-target relabeling 2020-11-07 16:19:59 +02:00
vmrestore Fix typo in vnrestore readme 2020-10-18 15:41:39 +03:00
vmselect app/vmselect/promql: code cleanup after 43823addea 2020-11-06 01:30:50 +02:00
vmstorage app/vmselect: optimize querying for /api/v1/labels and /api/v1/label/<name>/values when start and end args are set 2020-11-05 01:01:33 +02:00