From 8bcf58930190c3408f0e1790e4c78f81cf033b2f Mon Sep 17 00:00:00 2001 From: Steve Simpson Date: Fri, 24 May 2024 20:11:26 +0200 Subject: [PATCH] Alerting: Pass logger into NewExternalAlertmanagerSender (#88256) --- pkg/services/ngalert/remote/alertmanager.go | 3 ++- pkg/services/ngalert/sender/router.go | 3 ++- pkg/services/ngalert/sender/sender.go | 3 +-- pkg/services/ngalert/sender/sender_test.go | 7 +++++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/pkg/services/ngalert/remote/alertmanager.go b/pkg/services/ngalert/remote/alertmanager.go index f58dad8c957..4c69003113e 100644 --- a/pkg/services/ngalert/remote/alertmanager.go +++ b/pkg/services/ngalert/remote/alertmanager.go @@ -122,7 +122,8 @@ func NewAlertmanager(cfg AlertmanagerConfig, store stateStore, decryptFn Decrypt doFunc := func(ctx context.Context, _ *http.Client, req *http.Request) (*http.Response, error) { return c.Do(req.WithContext(ctx)) } - s := sender.NewExternalAlertmanagerSender(sender.WithDoFunc(doFunc)) + senderLogger := log.New("ngalert.sender.external-alertmanager") + s := sender.NewExternalAlertmanagerSender(senderLogger, sender.WithDoFunc(doFunc)) s.Run() err = s.ApplyConfig(cfg.OrgID, 0, []sender.ExternalAMcfg{{URL: cfg.URL + "/alertmanager"}}) if err != nil { diff --git a/pkg/services/ngalert/sender/router.go b/pkg/services/ngalert/sender/router.go index 0837d23677f..3da5ae30846 100644 --- a/pkg/services/ngalert/sender/router.go +++ b/pkg/services/ngalert/sender/router.go @@ -163,7 +163,8 @@ func (d *AlertsRouter) SyncAndApplyConfigFromDatabase(ctx context.Context) error // No sender and have Alertmanager(s) to send to - start a new one. d.logger.Info("Creating new sender for the external alertmanagers", "org", cfg.OrgID, "alertmanagers", redactedAMs) - s := NewExternalAlertmanagerSender() + senderLogger := log.New("ngalert.sender.external-alertmanager") + s := NewExternalAlertmanagerSender(senderLogger) d.externalAlertmanagers[cfg.OrgID] = s s.Run() diff --git a/pkg/services/ngalert/sender/sender.go b/pkg/services/ngalert/sender/sender.go index 60d60924381..62d08281a6d 100644 --- a/pkg/services/ngalert/sender/sender.go +++ b/pkg/services/ngalert/sender/sender.go @@ -80,8 +80,7 @@ func (cfg *ExternalAMcfg) headerString() string { return result.String() } -func NewExternalAlertmanagerSender(opts ...Option) *ExternalAlertmanager { - l := log.New("ngalert.sender.external-alertmanager") +func NewExternalAlertmanagerSender(l log.Logger, opts ...Option) *ExternalAlertmanager { sdCtx, sdCancel := context.WithCancel(context.Background()) s := &ExternalAlertmanager{ logger: l, diff --git a/pkg/services/ngalert/sender/sender_test.go b/pkg/services/ngalert/sender/sender_test.go index 1086f56991f..177e2139350 100644 --- a/pkg/services/ngalert/sender/sender_test.go +++ b/pkg/services/ngalert/sender/sender_test.go @@ -3,6 +3,7 @@ package sender import ( "testing" + "github.com/grafana/grafana/pkg/infra/log" "github.com/prometheus/alertmanager/api/v2/models" "github.com/prometheus/prometheus/model/labels" "github.com/stretchr/testify/require" @@ -48,7 +49,8 @@ func TestSanitizeLabelName(t *testing.T) { } for _, tc := range cases { - am := NewExternalAlertmanagerSender() + logger := log.New("ngalert.sender.external-alertmanager") + am := NewExternalAlertmanagerSender(logger) t.Run(tc.desc, func(t *testing.T) { res, err := am.sanitizeLabelName(tc.labelName) @@ -95,7 +97,8 @@ func TestSanitizeLabelSet(t *testing.T) { } for _, tc := range cases { - am := NewExternalAlertmanagerSender() + logger := log.New("ngalert.sender.external-alertmanager") + am := NewExternalAlertmanagerSender(logger) t.Run(tc.desc, func(t *testing.T) { require.Equal(t, tc.expectedResult, am.sanitizeLabelSet(tc.labelset)) })