diff --git a/pkg/models/alerts.go b/pkg/models/alerts.go index fd3540a8b62..bfcac66aaf2 100644 --- a/pkg/models/alerts.go +++ b/pkg/models/alerts.go @@ -122,5 +122,6 @@ type AlertResult struct { State string ActualValue float64 Duration float64 + Description string Rule AlertRule } diff --git a/pkg/services/alerting/alerting.go b/pkg/services/alerting/alerting.go index 93e45d4ca4f..d05b143fafc 100644 --- a/pkg/services/alerting/alerting.go +++ b/pkg/services/alerting/alerting.go @@ -3,7 +3,6 @@ package alerting import ( "time" - "fmt" "github.com/grafana/grafana/pkg/bus" "github.com/grafana/grafana/pkg/log" m "github.com/grafana/grafana/pkg/models" @@ -103,12 +102,7 @@ func (this *Scheduler) HandleResponses() { cmd := m.UpdateAlertStateCommand{ AlertId: response.Id, NewState: response.State, - } - - if cmd.NewState != m.AlertStateOk { - cmd.Info = fmt.Sprintf("Actual value: %1.2f", response.ActualValue) - } else { - cmd.Info = "Alert is OK!" + Info: response.Description, } if err := bus.Dispatch(&cmd); err != nil { diff --git a/pkg/services/alerting/executor.go b/pkg/services/alerting/executor.go index 3af76e10493..ad62c0d822f 100644 --- a/pkg/services/alerting/executor.go +++ b/pkg/services/alerting/executor.go @@ -102,6 +102,7 @@ func (this *ExecutorImpl) ValidateRule(rule m.AlertRule, series m.TimeSeriesSlic State: m.AlertStateCritical, Id: rule.Id, ActualValue: aggValue, + Description: fmt.Sprintf("Actual value: %1.2f for %s", aggValue, serie.Name), Rule: rule, } } @@ -110,11 +111,12 @@ func (this *ExecutorImpl) ValidateRule(rule m.AlertRule, series m.TimeSeriesSlic return &m.AlertResult{ State: m.AlertStateWarn, Id: rule.Id, + Description: fmt.Sprintf("Actual value: %1.2f for %s", aggValue, serie.Name), ActualValue: aggValue, Rule: rule, } } } - return &m.AlertResult{State: m.AlertStateOk, Id: rule.Id, Rule: rule} + return &m.AlertResult{State: m.AlertStateOk, Id: rule.Id, Rule: rule, Description: "Alert is OK!"} }