Skip to content

Commit

Permalink
♻️ Remove event state feild
Browse files Browse the repository at this point in the history
  • Loading branch information
Cairry committed Feb 21, 2025
1 parent 09187dd commit cf89a65
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 16 deletions.
4 changes: 0 additions & 4 deletions alert/consumer/consumer.go
Original file line number Diff line number Diff line change
Expand Up @@ -225,10 +225,6 @@ func (c *Consume) isMutedEvent(event *models.AlertCurEvent, faultCenter models.F

// validateEvent 事件验证
func (c *Consume) validateEvent(event *models.AlertCurEvent, faultCenter models.FaultCenter) bool {
if event.State == "Pending" {
return false
}

return event.IsRecovered || event.LastSendTime == 0 ||
event.LastEvalTime >= event.LastSendTime+faultCenter.RepeatNoticeInterval*60
}
Expand Down
7 changes: 6 additions & 1 deletion alert/eval/eval.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,10 @@ func (t *AlertRule) Recover(faultCenterKey string, faultCenterInfoKey string, cu
return
}

// 调整为待恢复状态
event.Status = 3
t.ctx.Redis.Event().PushEventToFaultCenter(&event)

// 判断是否在等待时间范围内
wTime, exists := t.alarmRecoverWaitStore.Get(key)
if !exists {
Expand All @@ -159,7 +163,8 @@ func (t *AlertRule) Recover(faultCenterKey string, faultCenterInfoKey string, cu
continue
}

event.State = "Firing"
// 已恢复状态
event.Status = 4
event.IsRecovered = true
event.RecoverTime = curTime
event.LastSendTime = 0
Expand Down
10 changes: 4 additions & 6 deletions alert/process/process.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,15 @@ func PushEventToFaultCenter(ctx *ctx.Context, event *models.AlertCurEvent) {
event.LastEvalTime = eventOpt.GetLastEvalTimeForFaultCenter()
event.LastSendTime = eventOpt.GetLastSendTimeForFaultCenter(event.TenantId, event.FaultCenterId, event.Fingerprint)

event.State = "Pending"
if event.IsArriveForDuration() {
event.State = "Firing"
event.Status = 1
}
if event.IsRecovered {
event.State = "Recover"
}

if isSilencedEvent(event) {
event.Status = 2
}
if event.IsRecovered {
event.Status = 3
}

eventOpt.PushEventToFaultCenter(event)
}
Expand Down
3 changes: 1 addition & 2 deletions internal/models/alert_current_event.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ type AlertCurEvent struct {
DatasourceType string `json:"datasource_type"`
DatasourceId string `json:"datasource_id" gorm:"datasource_id"`
Fingerprint string `json:"fingerprint"`
State string `json:"state"` // 事件状态,Pending / Firing
Severity string `json:"severity"`
Metric map[string]interface{} `json:"metric" gorm:"metric;serializer:json"`
Labels map[string]string `json:"labels" gorm:"labels;serializer:json"`
Expand All @@ -36,7 +35,7 @@ type AlertCurEvent struct {
FaultCenter FaultCenter `json:"faultCenter" gorm:"-"`
ResponseTime string `json:"response_time" gorm:"-"`
TimeRemaining int64 `json:"time_remaining" gorm:"-"`
Status int64 `json:"status" gorm:"-"` // 事件状态,告警中:1,静默中:2
Status int64 `json:"status" gorm:"-"` // 事件状态,告警中:1,静默中:2,待恢复:3,已恢复:4
}

type AlertCurEventQuery struct {
Expand Down
1 change: 1 addition & 0 deletions internal/models/fault_center.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ type FaultCenter struct {
RecoverWaitTime int64 `json:"recoverWaitTime"`
CurrentAlertNumber int64 `json:"currentAlertNumber" gorm:"-"`
CurrentMuteNumber int64 `json:"currentMuteNumber" gorm:"-"`
CurrentRecoverNumber int64 `json:"currentRecoverNumber" gorm:"-"`
}

func (f *FaultCenter) TableName() string {
Expand Down
9 changes: 6 additions & 3 deletions internal/services/fault_center.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,14 +89,17 @@ func (f faultCenterService) List(req interface{}) (data interface{}, err interfa
}

for _, event := range events {
if event.Status == 1 {
switch event.Status {
case 1:
faultCenters[index].CurrentAlertNumber++
} else {
case 2:
faultCenters[index].CurrentMuteNumber++
case 3:
faultCenters[index].CurrentRecoverNumber++
}
}

}

return faultCenters, nil
}

Expand Down

0 comments on commit cf89a65

Please sign in to comment.