Alerting: Fix migration to not add label "alertname" (#56509)

* do not add label alertname because it is overridden in state manager anyway
* update state manager to not consider labels with same value as dupe
This commit is contained in:
Yuriy Tseretyan 2022-10-07 15:06:53 -04:00 committed by GitHub
parent 4b2a940659
commit e2f1201382
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -56,16 +56,18 @@ func (rs *ruleStates) getOrCreate(ctx context.Context, log log.Logger, alertRule
lbs[key] = val
}
for key, val := range ruleLabels {
_, ok := lbs[key]
ruleVal, ok := lbs[key]
// if duplicate labels exist, reserved label will take precedence
if ok {
dupes[key] = val
if ruleVal != val {
dupes[key] = val
}
} else {
lbs[key] = val
}
}
if len(dupes) > 0 {
log.Warn("rule declares one or many reserved labels. Those rules labels will be ignored", "labels", dupes)
log.Warn("Rule declares one or many reserved labels. Those rules labels will be ignored", "labels", dupes)
}
dupes = make(data.Labels)
for key, val := range result.Instance {

View File

@ -100,7 +100,6 @@ func addMigrationInfo(da *dashAlert) (map[string]string, map[string]string) {
func (m *migration) makeAlertRule(cond condition, da dashAlert, folderUID string) (*alertRule, error) {
lbls, annotations := addMigrationInfo(&da)
name := normalizeRuleName(da.Name)
lbls["alertname"] = name
annotations["message"] = da.Message
var err error