Alerting: Change logging in Alertmanager (#105704)

* change logger to ngalert.notifier and use component label
* update alerting module

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
This commit is contained in:
Yuri Tseretyan
2025-05-21 10:13:18 -04:00
committed by GitHub
parent 6e5e133f7d
commit d019b4ff1b
6 changed files with 9 additions and 33 deletions
@@ -114,7 +114,7 @@ func NewAlertmanager(ctx context.Context, orgID int64, cfg *setting.Cfg, store A
return stateStore.SaveNotificationLog(context.Background(), state)
},
}
l := log.New("ngalert.notifier.alertmanager", "org", orgID)
l := log.New("ngalert.notifier")
opts := alertingNotify.GrafanaAlertmanagerOpts{
ExternalURL: cfg.AppURL,
@@ -127,9 +127,8 @@ func NewAlertmanager(ctx context.Context, orgID int64, cfg *setting.Cfg, store A
MaxSilenceSizeBytes: cfg.UnifiedAlerting.AlertmanagerMaxSilenceSizeBytes,
},
EmailSender: &emailSender{ns},
ImageProvider: newImageProvider(store, log.New("ngalert.notifier.image-provider")),
ImageProvider: newImageProvider(store, l.New("component", "image-provider")),
Decrypter: decryptFn,
LoggerFactory: LoggerFactory,
Version: setting.BuildVersion,
TenantKey: "orgID",
TenantID: orgID,
@@ -149,7 +148,7 @@ func NewAlertmanager(ctx context.Context, orgID int64, cfg *setting.Cfg, store A
DefaultConfiguration: cfg.UnifiedAlerting.DefaultConfiguration,
Store: store,
stateStore: stateStore,
logger: l,
logger: l.New("component", "alertmanager", opts.TenantKey, opts.TenantID), // similar to what the base does
}
return am, nil
+2 -2
View File
@@ -7,7 +7,6 @@ import (
"testing"
alertingImages "github.com/grafana/alerting/images"
alertingLogging "github.com/grafana/alerting/logging"
"github.com/grafana/alerting/receivers"
alertingEmail "github.com/grafana/alerting/receivers/email"
alertingTemplates "github.com/grafana/alerting/templates"
@@ -17,6 +16,7 @@ import (
"github.com/stretchr/testify/require"
"github.com/grafana/grafana/pkg/bus"
"github.com/grafana/grafana/pkg/infra/log/logtest"
"github.com/grafana/grafana/pkg/infra/tracing"
"github.com/grafana/grafana/pkg/services/notifications"
"github.com/grafana/grafana/pkg/setting"
@@ -200,7 +200,7 @@ func createSut(t *testing.T, messageTmpl string, subjectTmpl string, emailTmpl *
},
Message: messageTmpl,
Subject: subjectTmpl,
}, receivers.Metadata{}, emailTmpl, ns, &alertingImages.UnavailableProvider{}, &alertingLogging.FakeLogger{})
}, receivers.Metadata{}, emailTmpl, ns, &alertingImages.UnavailableProvider{}, &logtest.Fake{})
}
func getSingleSentMessage(t *testing.T, ns *emailSender) *notifications.Message {
+1 -1
View File
@@ -25,7 +25,7 @@ func newImageProvider(store store.ImageStore, logger log.Logger) alertingImages.
return alertingImages.NewTokenProvider(&tokenStore{
store: store,
logger: logger,
}, newLogWrapper(logger))
}, logger)
}
func (t tokenStore) GetImage(ctx context.Context, token string) (*alertingImages.Image, error) {
-23
View File
@@ -1,23 +0,0 @@
package notifier
import (
alertingLogging "github.com/grafana/alerting/logging"
"github.com/grafana/grafana/pkg/infra/log"
)
var LoggerFactory alertingLogging.LoggerFactory = func(logger string, ctx ...any) alertingLogging.Logger {
return &logWrapper{log.New(append([]any{logger}, ctx...)...)}
}
func newLogWrapper(logger log.Logger, ctx ...any) alertingLogging.Logger {
return &logWrapper{logger.New(ctx...)}
}
type logWrapper struct {
*log.ConcreteLogger
}
func (l logWrapper) New(ctx ...any) alertingLogging.Logger {
return logWrapper{l.ConcreteLogger.New(ctx...)}
}