filter empty group of alerting rule
This commit is contained in:
parent
157fc43ee8
commit
bc024bcfce
|
@ -15,6 +15,7 @@ import (
|
|||
"infini.sh/framework/core/elastic"
|
||||
"infini.sh/framework/core/event"
|
||||
"infini.sh/framework/core/global"
|
||||
"infini.sh/framework/core/insight"
|
||||
"infini.sh/framework/core/kv"
|
||||
"infini.sh/framework/core/orm"
|
||||
"infini.sh/framework/core/queue"
|
||||
|
@ -62,6 +63,14 @@ func (alertAPI *AlertAPI) createRule(w http.ResponseWriter, req *http.Request, p
|
|||
if rule.Schedule.Interval == ""{
|
||||
rule.Schedule.Interval = "1m"
|
||||
}
|
||||
//filter empty metric group
|
||||
var groups []insight.MetricGroupItem
|
||||
for _, grp := range rule.Metrics.Groups {
|
||||
if grp.Field != "" {
|
||||
groups = append(groups, grp)
|
||||
}
|
||||
}
|
||||
rule.Metrics.Groups = groups
|
||||
|
||||
err = orm.Save(nil, rule)
|
||||
if err != nil {
|
||||
|
@ -282,6 +291,15 @@ func (alertAPI *AlertAPI) updateRule(w http.ResponseWriter, req *http.Request, p
|
|||
rule.Created = create
|
||||
rule.Updated = time.Now()
|
||||
|
||||
//filter empty metric group
|
||||
var groups []insight.MetricGroupItem
|
||||
for _, grp := range rule.Metrics.Groups {
|
||||
if grp.Field != "" {
|
||||
groups = append(groups, grp)
|
||||
}
|
||||
}
|
||||
rule.Metrics.Groups = groups
|
||||
|
||||
err = orm.Update(nil, rule)
|
||||
if err != nil {
|
||||
alertAPI.WriteError(w, err.Error(), http.StatusInternalServerError)
|
||||
|
|
Loading…
Reference in New Issue