fix: 自检告警附加信息错误最佳和触发消除操作

This commit is contained in:
TsMask
2025-10-15 14:39:36 +08:00
parent e02362283f
commit 4f0b6a0087
3 changed files with 31 additions and 23 deletions

View File

@@ -73,14 +73,15 @@ func (s *NeAlarmStateCheckProcessor) Execute(data any) (any, error) {
// 网元在线状态 // 网元在线状态
isOnline := parse.Boolean(neInfo.ServerState["online"]) isOnline := parse.Boolean(neInfo.ServerState["online"])
// 告警ID
params.AlarmId = fmt.Sprintf("%d%d", constants.ALARM_STATE_CHECK, neInfo.CreateTime)
// 告警状态 // 告警状态
alarmStatus := oam.ALARM_STATUS_ACTIVE alarmStatus := oam.ALARM_STATUS_ACTIVE
if isOnline { if isOnline {
alarmStatus = oam.ALARM_STATUS_CLEAR alarmStatus = oam.ALARM_STATUS_CLEAR
} }
// 告警ID
params.AlarmId = fmt.Sprintf("%d%d", constants.ALARM_STATE_CHECK, neInfo.CreateTime)
// 创建告警 // 创建告警
alarm := oam.Alarm{ alarm := oam.Alarm{
NeUid: neInfo.RmUID, // 网元唯一标识 NeUid: neInfo.RmUID, // 网元唯一标识

View File

@@ -146,31 +146,33 @@ func (s *NeAlarmStateCheckCMDProcessor) Execute(data any) (any, error) {
} }
} }
// 检查状态连续触发 // 告警状态
if err == nil { alarmStatus := oam.ALARM_STATUS_ACTIVE
continue if err == nil { // 检查状态连续触发
alarmStatus = oam.ALARM_STATUS_CLEAR
} }
// 附加信息
addInfo := params.AddInfo addInfo := params.AddInfo
if addInfo != "" { if err != nil {
addInfo = addInfo + ", " + err.Error() if addInfo != "" {
} else { addInfo = addInfo + ", " + err.Error()
addInfo = err.Error() } else {
addInfo = err.Error()
}
} }
// 事件产生时间
alarmTime := time.Now().UnixMilli()
// 告警ID // 告警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{ alarm := oam.Alarm{
NeUid: neInfo.RmUID, // 网元唯一标识 NeUid: neInfo.RmUID, // 网元唯一标识
AlarmTime: alarmTime, // 事件产生时间 AlarmTime: time.Now().UnixMilli(), // 事件产生时间
AlarmId: params.AlarmId, // 告警ID 唯一,清除时对应 AlarmId: params.AlarmId, // 告警ID 唯一,清除时对应
AlarmCode: constants.ALARM_CMD_CHECK, // 告警状态码 AlarmCode: constants.ALARM_CMD_CHECK, // 告警状态码
AlarmType: params.AlarmType, // 告警类型 AlarmType: params.AlarmType, // 告警类型
AlarmTitle: params.AlarmTitle, // 告警标题 AlarmTitle: params.AlarmTitle, // 告警标题
PerceivedSeverity: params.OrigSeverity, // 告警级别 PerceivedSeverity: params.OrigSeverity, // 告警级别
AlarmStatus: oam.ALARM_STATUS_ACTIVE, // 告警状态 AlarmStatus: alarmStatus, // 告警状态
SpecificProblem: params.SpecificProblem, // 告警问题原因 SpecificProblem: params.SpecificProblem, // 告警问题原因
SpecificProblemID: params.SpecificProblemID, // 告警问题原因ID SpecificProblemID: params.SpecificProblemID, // 告警问题原因ID
AddInfo: addInfo, // 告警辅助信息 AddInfo: addInfo, // 告警辅助信息

View File

@@ -85,18 +85,23 @@ func (s *NeAlarmStateCheckLicenseProcessor) Execute(data any) (any, error) {
// 检查状态 // 检查状态
err := s.cheackState(neInfo.ServerState, params.DayLt) 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 addInfo := params.AddInfo
if addInfo != "" { if err != nil {
addInfo = addInfo + ", " + err.Error() if addInfo != "" {
} else { addInfo = addInfo + ", " + err.Error()
addInfo = err.Error() } else {
addInfo = err.Error()
}
} }
// 告警ID // 告警ID
params.AlarmId = fmt.Sprintf("%d%d", constants.ALARM_LICENSE_CHECK, neInfo.CreateTime) params.AlarmId = fmt.Sprintf("%d%d", constants.ALARM_LICENSE_CHECK, neInfo.CreateTime)
// 创建告警 // 创建告警
alarm := oam.Alarm{ alarm := oam.Alarm{
NeUid: neInfo.RmUID, // 网元唯一标识 NeUid: neInfo.RmUID, // 网元唯一标识
@@ -106,7 +111,7 @@ func (s *NeAlarmStateCheckLicenseProcessor) Execute(data any) (any, error) {
AlarmType: params.AlarmType, // 告警类型 AlarmType: params.AlarmType, // 告警类型
AlarmTitle: params.AlarmTitle, // 告警标题 AlarmTitle: params.AlarmTitle, // 告警标题
PerceivedSeverity: params.OrigSeverity, // 告警级别 PerceivedSeverity: params.OrigSeverity, // 告警级别
AlarmStatus: oam.ALARM_STATUS_ACTIVE, // 告警状态 AlarmStatus: alarmStatus, // 告警状态
SpecificProblem: params.SpecificProblem, // 告警问题原因 SpecificProblem: params.SpecificProblem, // 告警问题原因
SpecificProblemID: params.SpecificProblemID, // 告警问题原因ID SpecificProblemID: params.SpecificProblemID, // 告警问题原因ID
AddInfo: addInfo, // 告警辅助信息 AddInfo: addInfo, // 告警辅助信息