diff --git a/src/modules/crontask/processor/ne_alarm_state_check/ne_alarm_state_check.go b/src/modules/crontask/processor/ne_alarm_state_check/ne_alarm_state_check.go index 682c75fa..843b16d2 100644 --- a/src/modules/crontask/processor/ne_alarm_state_check/ne_alarm_state_check.go +++ b/src/modules/crontask/processor/ne_alarm_state_check/ne_alarm_state_check.go @@ -73,14 +73,15 @@ func (s *NeAlarmStateCheckProcessor) Execute(data any) (any, error) { // 网元在线状态 isOnline := parse.Boolean(neInfo.ServerState["online"]) - // 告警ID - params.AlarmId = fmt.Sprintf("%d%d", constants.ALARM_STATE_CHECK, neInfo.CreateTime) // 告警状态 alarmStatus := oam.ALARM_STATUS_ACTIVE if isOnline { alarmStatus = oam.ALARM_STATUS_CLEAR } + // 告警ID + params.AlarmId = fmt.Sprintf("%d%d", constants.ALARM_STATE_CHECK, neInfo.CreateTime) + // 创建告警 alarm := oam.Alarm{ NeUid: neInfo.RmUID, // 网元唯一标识 diff --git a/src/modules/crontask/processor/ne_alarm_state_check_cmd/ne_alarm_state_check_cmd.go b/src/modules/crontask/processor/ne_alarm_state_check_cmd/ne_alarm_state_check_cmd.go index 881c1cf8..c7dd970a 100644 --- a/src/modules/crontask/processor/ne_alarm_state_check_cmd/ne_alarm_state_check_cmd.go +++ b/src/modules/crontask/processor/ne_alarm_state_check_cmd/ne_alarm_state_check_cmd.go @@ -146,31 +146,33 @@ func (s *NeAlarmStateCheckCMDProcessor) Execute(data any) (any, error) { } } - // 检查状态连续触发 - if err == nil { - continue + // 告警状态 + alarmStatus := oam.ALARM_STATUS_ACTIVE + if err == nil { // 检查状态连续触发 + alarmStatus = oam.ALARM_STATUS_CLEAR } + // 附加信息 addInfo := params.AddInfo - if addInfo != "" { - addInfo = addInfo + ", " + err.Error() - } else { - addInfo = err.Error() + if err != nil { + if addInfo != "" { + addInfo = addInfo + ", " + err.Error() + } else { + addInfo = err.Error() + } } - - // 事件产生时间 - alarmTime := time.Now().UnixMilli() // 告警ID - params.AlarmId = fmt.Sprintf("%d%d", constants.ALARM_CMD_CHECK, alarmTime) + params.AlarmId = fmt.Sprintf("%d%d", constants.ALARM_CMD_CHECK, neInfo.CreateTime) + // 创建告警 alarm := oam.Alarm{ NeUid: neInfo.RmUID, // 网元唯一标识 - AlarmTime: alarmTime, // 事件产生时间 + AlarmTime: time.Now().UnixMilli(), // 事件产生时间 AlarmId: params.AlarmId, // 告警ID 唯一,清除时对应 AlarmCode: constants.ALARM_CMD_CHECK, // 告警状态码 AlarmType: params.AlarmType, // 告警类型 AlarmTitle: params.AlarmTitle, // 告警标题 PerceivedSeverity: params.OrigSeverity, // 告警级别 - AlarmStatus: oam.ALARM_STATUS_ACTIVE, // 告警状态 + AlarmStatus: alarmStatus, // 告警状态 SpecificProblem: params.SpecificProblem, // 告警问题原因 SpecificProblemID: params.SpecificProblemID, // 告警问题原因ID AddInfo: addInfo, // 告警辅助信息 diff --git a/src/modules/crontask/processor/ne_alarm_state_check_license/ne_alarm_state_check_license.go b/src/modules/crontask/processor/ne_alarm_state_check_license/ne_alarm_state_check_license.go index 29fed408..40f38eb8 100644 --- a/src/modules/crontask/processor/ne_alarm_state_check_license/ne_alarm_state_check_license.go +++ b/src/modules/crontask/processor/ne_alarm_state_check_license/ne_alarm_state_check_license.go @@ -85,18 +85,23 @@ func (s *NeAlarmStateCheckLicenseProcessor) Execute(data any) (any, error) { // 检查状态 err := s.cheackState(neInfo.ServerState, params.DayLt) - if err == nil { - continue + // 告警状态 + alarmStatus := oam.ALARM_STATUS_ACTIVE + if err == nil { // 检查状态连续触发 + alarmStatus = oam.ALARM_STATUS_CLEAR } + // 附加信息 addInfo := params.AddInfo - if addInfo != "" { - addInfo = addInfo + ", " + err.Error() - } else { - addInfo = err.Error() + if err != nil { + if addInfo != "" { + addInfo = addInfo + ", " + err.Error() + } else { + addInfo = err.Error() + } } - // 告警ID params.AlarmId = fmt.Sprintf("%d%d", constants.ALARM_LICENSE_CHECK, neInfo.CreateTime) + // 创建告警 alarm := oam.Alarm{ NeUid: neInfo.RmUID, // 网元唯一标识 @@ -106,7 +111,7 @@ func (s *NeAlarmStateCheckLicenseProcessor) Execute(data any) (any, error) { AlarmType: params.AlarmType, // 告警类型 AlarmTitle: params.AlarmTitle, // 告警标题 PerceivedSeverity: params.OrigSeverity, // 告警级别 - AlarmStatus: oam.ALARM_STATUS_ACTIVE, // 告警状态 + AlarmStatus: alarmStatus, // 告警状态 SpecificProblem: params.SpecificProblem, // 告警问题原因 SpecificProblemID: params.SpecificProblemID, // 告警问题原因ID AddInfo: addInfo, // 告警辅助信息