Merge pull request #15093 from dimitarvdimitrov/dimitar/ruler/unsupported-logger

ruler: correct logging of alert name & template data
This commit is contained in:
George Krajcsovits 2025-03-25 13:47:22 +01:00 committed by GitHub
commit e19ff7a000
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 23 additions and 7 deletions

View File

@ -342,7 +342,7 @@ func (m *Manager) LoadGroups(
externalLabels,
externalURL,
!shouldRestore,
m.logger.With("alert", r.Alert),
m.logger.With("alert", r.Alert.Value),
))
continue
}

View File

@ -281,14 +281,30 @@ func NewTemplateExpander(
}
}
// AlertTemplateData returns the interface to be used in expanding the template.
func AlertTemplateData(labels, externalLabels map[string]string, externalURL string, smpl promql.Sample) interface{} {
res := struct {
type templateData struct {
Labels map[string]string
ExternalLabels map[string]string
ExternalURL string
Value interface{}
}{
}
// String implements fmt.Stringer interface.
func (t templateData) String() string {
labelsString := func(labels map[string]string) string {
// model.LabelSet has a ready String() method, that we can use.
labelSet := make(model.LabelSet, len(t.Labels))
for k, v := range t.Labels {
labelSet[model.LabelName(k)] = model.LabelValue(v)
}
return labelSet.String()
}
return fmt.Sprintf("<Labels: %s, ExternalLabels: %s, ExternalURL: %s, Value: %v>", labelsString(t.Labels), labelsString(t.ExternalLabels), t.ExternalURL, t.Value)
}
// AlertTemplateData returns the interface to be used in expanding the template.
func AlertTemplateData(labels, externalLabels map[string]string, externalURL string, smpl promql.Sample) interface{} {
res := templateData{
Labels: labels,
ExternalLabels: externalLabels,
ExternalURL: externalURL,