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"])
// 告警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, // 网元唯一标识

View File

@@ -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, // 告警辅助信息

View File

@@ -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, // 告警辅助信息