grafana/pkg/services/ngalert/models
Matthew Jacobson 71e70c424f
Alerting: During legacy migration reduce the number of created silences (#78505)
* Alerting: During legacy migration reduce the number of created silences

During legacy migration every migrated rule was given a label rule_uid=<uid>.
This was used to silence DatasourceError/DatasourceNoData alerts for
migrated rules that had either ExecutionErrorState/NoDataState set to
keep_state, respectively.

This could potentially create a large amount of silences and a high cardinality
label. Both of these scenarios have poor outcomes for CPU load and latency in
unified alerting.

Instead, this change creates one label per ExecutionErrorState/NoDataState when
they are set to keep_state as well as two silence rules, if rules with said
labels were created during migration. These silence rules are:

- __legacy_silence_error_keep_state__ = true
- __legacy_silence_nodata_keep_state__ = true

This will drastically reduce the number of created silence rules in most cases
as well as not create the potentially high cardinality label `rule_uid`.
2024-01-24 15:56:19 -05:00
..
admin_configuration_test.go Alerting: Remove url based external alertmanagers config (#57918) 2022-11-10 16:34:13 +01:00
admin_configuration.go Alerting: Remove url based external alertmanagers config (#57918) 2022-11-10 16:34:13 +01:00
alert_query_test.go Alerting: Support hysteresis command expression (#75189) 2024-01-04 11:47:13 -05:00
alert_query.go Alerting: Support hysteresis command expression (#75189) 2024-01-04 11:47:13 -05:00
alert_rule_test.go Alerting: Update rule API to address folders by UID (#74600) 2024-01-17 11:07:39 +02:00
alert_rule.go Alerting: During legacy migration reduce the number of created silences (#78505) 2024-01-24 15:56:19 -05:00
alertmanager.go Chore: Simplify function signature for GetLatestAlertmanagerConfiguration (#79392) 2023-12-12 13:49:54 +01:00
constants.go Plugins: Automatically forward plugin request HTTP headers in outgoing HTTP requests (#60417) 2022-12-21 13:25:58 +01:00
history.go NGAlerting: Use identity.Requester interface instead of SignedInUser (#76360) 2023-11-14 14:47:34 +00:00
image_test.go Alerting: Fix test fails in some environments (#58251) 2022-11-07 16:34:37 +00:00
image.go Alerting: Fix test fails in some environments (#58251) 2022-11-07 16:34:37 +00:00
instance_labels.go Alerting: Write and Delete multiple alert instances. (#55350) 2022-10-06 14:22:58 +08:00
instance_test.go Alerting: Add alert pausing feature (#60734) 2023-01-26 18:29:10 +01:00
instance.go Alerting: Support hysteresis command expression (#75189) 2024-01-04 11:47:13 -05:00
provisioning.go Drop ProvenanceOrgAdapter and build into store API instead (#48137) 2022-04-26 10:30:57 -05:00
testing.go Alerting: Add setting to distribute rule group evaluations over time (#80766) 2024-01-18 12:48:11 -06:00
time.go Alerting: Fix test fails in some environments (#58251) 2022-11-07 16:34:37 +00:00