From e042effec307d548e530df1fa1f838a580e7ec77 Mon Sep 17 00:00:00 2001 From: ning <710leo@gmail.com> Date: Tue, 17 Jan 2023 21:10:25 +0800 Subject: [PATCH] optimize heartbeat and rule sync --- src/server/memsto/alert_mute_cache.go | 8 -------- src/server/memsto/alert_rule_cache.go | 9 --------- src/server/memsto/alert_subsribe_cache.go | 9 --------- src/server/memsto/recording_rule_cache.go | 18 ++---------------- src/server/naming/heartbeat.go | 12 +++++------- 5 files changed, 7 insertions(+), 49 deletions(-) diff --git a/src/server/memsto/alert_mute_cache.go b/src/server/memsto/alert_mute_cache.go index 032c6e6a..c4d259d3 100644 --- a/src/server/memsto/alert_mute_cache.go +++ b/src/server/memsto/alert_mute_cache.go @@ -9,7 +9,6 @@ import ( "github.com/toolkits/pkg/logger" "github.com/didi/nightingale/v5/src/models" - "github.com/didi/nightingale/v5/src/server/config" promstat "github.com/didi/nightingale/v5/src/server/stat" ) @@ -99,13 +98,6 @@ func loopSyncAlertMutes() { func syncAlertMutes() error { start := time.Now() - clusterNames := config.ReaderClients.GetClusterNames() - if len(clusterNames) == 0 { - AlertRuleCache.Reset() - logger.Warning("cluster is blank") - return nil - } - stat, err := models.AlertMuteStatistics("") if err != nil { return errors.WithMessage(err, "failed to exec AlertMuteStatistics") diff --git a/src/server/memsto/alert_rule_cache.go b/src/server/memsto/alert_rule_cache.go index c81b2394..a9142952 100644 --- a/src/server/memsto/alert_rule_cache.go +++ b/src/server/memsto/alert_rule_cache.go @@ -9,7 +9,6 @@ import ( "github.com/toolkits/pkg/logger" "github.com/didi/nightingale/v5/src/models" - "github.com/didi/nightingale/v5/src/server/config" promstat "github.com/didi/nightingale/v5/src/server/stat" ) @@ -95,14 +94,6 @@ func loopSyncAlertRules() { func syncAlertRules() error { start := time.Now() - - clusterNames := config.ReaderClients.GetClusterNames() - if len(clusterNames) == 0 { - AlertRuleCache.Reset() - logger.Warning("cluster is blank") - return nil - } - stat, err := models.AlertRuleStatistics("") if err != nil { return errors.WithMessage(err, "failed to exec AlertRuleStatistics") diff --git a/src/server/memsto/alert_subsribe_cache.go b/src/server/memsto/alert_subsribe_cache.go index 2bf18b07..4ada14ed 100644 --- a/src/server/memsto/alert_subsribe_cache.go +++ b/src/server/memsto/alert_subsribe_cache.go @@ -9,7 +9,6 @@ import ( "github.com/toolkits/pkg/logger" "github.com/didi/nightingale/v5/src/models" - "github.com/didi/nightingale/v5/src/server/config" promstat "github.com/didi/nightingale/v5/src/server/stat" ) @@ -101,14 +100,6 @@ func loopSyncAlertSubscribes() { func syncAlertSubscribes() error { start := time.Now() - - clusterNames := config.ReaderClients.GetClusterNames() - if len(clusterNames) == 0 { - AlertSubscribeCache.Reset() - logger.Warning("cluster is blank") - return nil - } - stat, err := models.AlertSubscribeStatistics("") if err != nil { return errors.WithMessage(err, "failed to exec AlertSubscribeStatistics") diff --git a/src/server/memsto/recording_rule_cache.go b/src/server/memsto/recording_rule_cache.go index c50a7611..9afbbac8 100644 --- a/src/server/memsto/recording_rule_cache.go +++ b/src/server/memsto/recording_rule_cache.go @@ -6,7 +6,6 @@ import ( "time" "github.com/didi/nightingale/v5/src/models" - "github.com/didi/nightingale/v5/src/server/config" promstat "github.com/didi/nightingale/v5/src/server/stat" "github.com/pkg/errors" "github.com/toolkits/pkg/logger" @@ -95,20 +94,7 @@ func loopSyncRecordingRules() { func syncRecordingRules() error { start := time.Now() - clusterNames := config.ReaderClients.GetClusterNames() - if len(clusterNames) == 0 { - RecordingRuleCache.Reset() - logger.Warning("cluster is blank") - return nil - } - - var clusterName string - // 只有一个集群,使用单集群模式,如果大于1个集群,则获取全部的规则 - if len(clusterNames) == 1 { - clusterName = clusterNames[0] - } - - stat, err := models.RecordingRuleStatistics(clusterName) + stat, err := models.RecordingRuleStatistics("") if err != nil { return errors.WithMessage(err, "failed to exec RecordingRuleStatistics") } @@ -120,7 +106,7 @@ func syncRecordingRules() error { return nil } - lst, err := models.RecordingRuleGetsByCluster(clusterName) + lst, err := models.RecordingRuleGetsByCluster("") if err != nil { return errors.WithMessage(err, "failed to exec RecordingRuleGetsByCluster") } diff --git a/src/server/naming/heartbeat.go b/src/server/naming/heartbeat.go index 09e612a5..f636f767 100644 --- a/src/server/naming/heartbeat.go +++ b/src/server/naming/heartbeat.go @@ -57,14 +57,12 @@ func heartbeat() error { return err } if len(clusters) == 0 { - // 实例刚刚部署,还没有在页面配置 cluster 的情况,先使用配置文件中的 cluster 上报心跳 - for i := 0; i < len(config.C.Readers); i++ { - err := models.AlertingEngineHeartbeatWithCluster(config.C.Heartbeat.Endpoint, config.C.Readers[i].ClusterName) - if err != nil { - logger.Warningf("heartbeat with cluster %s err:%v", config.C.Readers[i].ClusterName, err) - continue - } + // 告警引擎页面还没有配置集群,先上报一个空的集群,让 n9e-server 实例在页面上显示出来 + err := models.AlertingEngineHeartbeatWithCluster(config.C.Heartbeat.Endpoint, "") + if err != nil { + logger.Warningf("heartbeat with cluster %s err:%v", "", err) } + logger.Warningf("heartbeat %s no cluster", config.C.Heartbeat.Endpoint) } err := models.AlertingEngineHeartbeat(config.C.Heartbeat.Endpoint) -- GitLab