diff --git a/cmd/karma/views.go b/cmd/karma/views.go index 2df97896e..0b17e54ca 100644 --- a/cmd/karma/views.go +++ b/cmd/karma/views.go @@ -309,6 +309,17 @@ func alerts(c *gin.Context) { } } + if ck, foundKey := dedupedColors["@cluster"]; foundKey { + for _, am := range alert.Alertmanager { + if cv, foundVal := ck[am.Cluster]; foundVal { + if _, found := colors["@cluster"]; !found { + colors["@cluster"] = map[string]models.LabelColors{} + } + colors["@cluster"][am.Cluster] = cv + } + } + } + agCopy.StateCount[alert.State]++ for _, am := range alert.Alertmanager { diff --git a/internal/alertmanager/models.go b/internal/alertmanager/models.go index c2faa619b..508c7b62d 100644 --- a/internal/alertmanager/models.go +++ b/internal/alertmanager/models.go @@ -261,6 +261,7 @@ func (am *Alertmanager) pullAlerts(version string) error { transform.ColorLabel(colors, "@receiver", alert.Receiver) for _, am := range alert.Alertmanager { transform.ColorLabel(colors, "@alertmanager", am.Name) + transform.ColorLabel(colors, "@cluster", am.Cluster) } for k, v := range alert.Labels { transform.ColorLabel(colors, k, v)