Alerting: Move the unified alerting settings to its own struct (#39350) (#39400)

(cherry picked from commit 2ad82b9354)

Co-authored-by: gotjosh <josue@grafana.com>
This commit is contained in:
Grot (@grafanabot)
2021-09-20 11:02:07 +01:00
committed by GitHub
co-authored by gotjosh
parent 395730e2f7
commit 10c44b4f8d
7 changed files with 47 additions and 42 deletions
+1 -1
View File
@@ -122,7 +122,7 @@ func (ng *AlertNG) init() error {
OrgStore: store,
MultiOrgNotifier: ng.MultiOrgAlertmanager,
Metrics: ng.Metrics.GetSchedulerMetrics(),
AdminConfigPollInterval: ng.Cfg.AdminConfigPollInterval,
AdminConfigPollInterval: ng.Cfg.UnifiedAlerting.AdminConfigPollInterval,
}
stateManager := state.NewManager(ng.Log, ng.Metrics.GetStateMetrics(), store, store)
schedule := schedule.NewScheduler(schedCfg, ng.DataService, ng.Cfg.AppURL, stateManager)
@@ -132,7 +132,7 @@ func newAlertmanager(orgID int64, cfg *setting.Cfg, store store.AlertingStore, k
dispatcherMetrics: dispatch.NewDispatcherMetrics(false, m.Registerer),
Store: store,
peer: peer,
peerTimeout: cfg.HAPeerTimeout,
peerTimeout: cfg.UnifiedAlerting.HAPeerTimeout,
Metrics: m,
orgID: orgID,
}
@@ -55,16 +55,16 @@ func NewMultiOrgAlertmanager(cfg *setting.Cfg, configStore store.AlertingStore,
clusterLogger := gokit_log.With(gokit_log.NewLogfmtLogger(logging.NewWrapper(l)), "component", "cluster")
moa.peer = &NilPeer{}
if len(cfg.HAPeers) > 0 {
if len(cfg.UnifiedAlerting.HAPeers) > 0 {
peer, err := cluster.Create(
clusterLogger,
m.Registerer,
cfg.HAListenAddr,
cfg.HAAdvertiseAddr,
cfg.HAPeers, // peers
cfg.UnifiedAlerting.HAListenAddr,
cfg.UnifiedAlerting.HAAdvertiseAddr,
cfg.UnifiedAlerting.HAPeers, // peers
true,
cfg.HAPushPullInterval,
cfg.HAGossipInterval,
cfg.UnifiedAlerting.HAPushPullInterval,
cfg.UnifiedAlerting.HAGossipInterval,
cluster.DefaultTcpTimeout,
cluster.DefaultProbeTimeout,
cluster.DefaultProbeInterval,
@@ -98,7 +98,7 @@ func (moa *MultiOrgAlertmanager) Run(ctx context.Context) error {
case <-ctx.Done():
moa.StopAndWait()
return nil
case <-time.After(moa.settings.AlertmanagerConfigPollInterval):
case <-time.After(moa.settings.UnifiedAlerting.AlertmanagerConfigPollInterval):
if err := moa.LoadAndSyncAlertmanagersForOrgs(ctx); err != nil {
moa.logger.Error("error while synchronizing Alertmanager orgs", "err", err)
}
@@ -32,8 +32,8 @@ func TestMultiOrgAlertmanager_SyncAlertmanagersForOrgs(t *testing.T) {
reg := prometheus.NewPedanticRegistry()
m := metrics.NewNGAlert(reg)
cfg := &setting.Cfg{
DataPath: tmpDir,
AlertmanagerConfigPollInterval: 3 * time.Minute, // do not poll in tests
DataPath: tmpDir,
UnifiedAlerting: setting.UnifiedAlertingSettings{AlertmanagerConfigPollInterval: 3 * time.Minute}, // do not poll in tests.
}
mam, err := NewMultiOrgAlertmanager(cfg, configStore, orgStore, kvStore, m.GetMultiOrgAlertmanagerMetrics(), log.New("testlogger"))
require.NoError(t, err)
@@ -94,8 +94,8 @@ func TestMultiOrgAlertmanager_AlertmanagerFor(t *testing.T) {
tmpDir, err := ioutil.TempDir("", "test")
require.NoError(t, err)
cfg := &setting.Cfg{
DataPath: tmpDir,
AlertmanagerConfigPollInterval: 3 * time.Minute, // do not poll in tests
DataPath: tmpDir,
UnifiedAlerting: setting.UnifiedAlertingSettings{AlertmanagerConfigPollInterval: 3 * time.Minute}, // do not poll in tests.
}
kvStore := newFakeKVStore(t)
reg := prometheus.NewPedanticRegistry()