- var alarmData alarm.Alarm
- if err := json.NewDecoder(r.Body).Decode(&alarmData); err == nil {
- a.UpdateActiveAlarms(alarmData)
- a.PostAlert(a.GenerateAlertLabels(alarmData))
+ var d alarm.Alarm
+ err := json.NewDecoder(r.Body).Decode(&d)
+ if err != nil {
+ app.Logger.Error("json.NewDecoder failed: %v", err)
+ return
+ }
+
+ if alarmClient == nil {
+ alarmClient, err = alarm.InitAlarm("RIC", "UEEC")
+ if err != nil {
+ app.Logger.Error("json.NewDecoder failed: %v", err)
+ return
+ }
+ }
+
+ alarmData := alarmClient.NewAlarm(d.SpecificProblem, d.PerceivedSeverity, d.AdditionalInfo, d.IdentifyingInfo)
+ if raiseAlarm {
+ alarmClient.Raise(alarmData)
+ } else {
+ alarmClient.Clear(alarmData)