diff --git a/model/alertrule.go b/model/alertrule.go index 829722a..1292e5f 100644 --- a/model/alertrule.go +++ b/model/alertrule.go @@ -64,15 +64,8 @@ func (r *AlertRule) Enabled() bool { } // Snapshot 对传入的Server进行该报警规则下所有type的检查 返回每项检查结果 -func (r *AlertRule) Snapshot(cycleTransferStats *CycleTransferStats, server *Server, db *gorm.DB, role uint8) []bool { +func (r *AlertRule) Snapshot(cycleTransferStats *CycleTransferStats, server *Server, db *gorm.DB) []bool { point := make([]bool, len(r.Rules)) - for i := range point { - point[i] = true - } - - if r.UserID != server.UserID && role != RoleAdmin { - return point - } for i, rule := range r.Rules { point[i] = rule.Snapshot(cycleTransferStats, server, db) diff --git a/service/singleton/alertsentinel.go b/service/singleton/alertsentinel.go index ec20a80..891f487 100644 --- a/service/singleton/alertsentinel.go +++ b/service/singleton/alertsentinel.go @@ -151,8 +151,11 @@ func checkStatus() { role = u.Role } UserLock.RUnlock() + if alert.UserID != server.UserID && role != model.RoleAdmin { + continue + } alertsStore[alert.ID][server.ID] = append(alertsStore[alert. - ID][server.ID], alert.Snapshot(AlertsCycleTransferStatsStore[alert.ID], server, DB, role)) + ID][server.ID], alert.Snapshot(AlertsCycleTransferStatsStore[alert.ID], server, DB)) // 发送通知,分为触发报警和恢复通知 max, passed := alert.Check(alertsStore[alert.ID][server.ID]) // 保存当前服务器状态信息