Remote Alertmanager: Make timeout configurable in alert senders (#105599)

This commit is contained in:
Santiago
2025-05-19 12:52:12 +02:00
committed by GitHub
parent 15c903fa5c
commit 180b67ca6c
2 changed files with 8 additions and 2 deletions
+1 -1
View File
@@ -167,7 +167,7 @@ func NewAlertmanager(ctx context.Context, cfg AlertmanagerConfig, store stateSto
return nil, err
}
s.Run()
err = s.ApplyConfig(cfg.OrgID, 0, []sender.ExternalAMcfg{{URL: cfg.URL + "/alertmanager"}})
err = s.ApplyConfig(cfg.OrgID, 0, []sender.ExternalAMcfg{{URL: cfg.URL + "/alertmanager", Timeout: cfg.Timeout}})
if err != nil {
return nil, err
}
+7 -1
View File
@@ -46,6 +46,7 @@ type ExternalAlertmanager struct {
type ExternalAMcfg struct {
URL string
Headers http.Header
Timeout time.Duration
}
type Option func(*ExternalAlertmanager)
@@ -229,11 +230,16 @@ func buildNotifierConfig(alertmanagers []ExternalAMcfg) (*config.Config, map[str
},
}
timeout := am.Timeout
if timeout == 0 {
timeout = defaultTimeout
}
amConfig := &config.AlertmanagerConfig{
APIVersion: config.AlertmanagerAPIVersionV2,
Scheme: u.Scheme,
PathPrefix: u.Path,
Timeout: model.Duration(defaultTimeout),
Timeout: model.Duration(timeout),
ServiceDiscoveryConfigs: sdConfig,
}