Alerting: Pass logger into NewExternalAlertmanagerSender (#88256)

This commit is contained in:
Steve Simpson 2024-05-24 20:11:26 +02:00 committed by GitHub
parent 5c29052219
commit 8bcf589301
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 10 additions and 6 deletions

View File

@ -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 {

View File

@ -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()

View File

@ -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,

View File

@ -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))
})