2016-11-03 00:59:25 +00:00
|
|
|
package kapacitor
|
2016-10-31 23:11:05 +00:00
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
|
2016-11-01 00:19:32 +00:00
|
|
|
"github.com/influxdata/chronograf"
|
2016-10-31 23:11:05 +00:00
|
|
|
)
|
|
|
|
|
2016-11-03 00:59:25 +00:00
|
|
|
// AlertServices generates alert chaining methods to be attached to an alert from all rule Services
|
|
|
|
func AlertServices(rule chronograf.AlertRule) (string, error) {
|
|
|
|
alert := ""
|
2016-11-03 22:27:58 +00:00
|
|
|
for _, service := range rule.Alerts {
|
2016-11-03 00:59:25 +00:00
|
|
|
if err := ValidateAlert(service); err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
alert = alert + fmt.Sprintf(".%s()", service)
|
2016-10-31 23:11:05 +00:00
|
|
|
}
|
2016-11-03 00:59:25 +00:00
|
|
|
return alert, nil
|
2016-10-31 23:11:05 +00:00
|
|
|
}
|