alerting.go 832 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package alerting
  2. import (
  3. "github.com/grafana/grafana/pkg/bus"
  4. "github.com/grafana/grafana/pkg/log"
  5. m "github.com/grafana/grafana/pkg/models"
  6. "github.com/grafana/grafana/pkg/setting"
  7. _ "github.com/grafana/grafana/pkg/tsdb/graphite"
  8. )
  9. var (
  10. maxRetries = 3
  11. )
  12. var engine *Engine
  13. func Init() {
  14. if !setting.AlertingEnabled {
  15. return
  16. }
  17. engine = NewEngine()
  18. engine.Start()
  19. // scheduler := NewScheduler()
  20. // reader := NewRuleReader()
  21. //
  22. // go scheduler.dispatch(reader)
  23. // go scheduler.executor(&ExecutorImpl{})
  24. // go scheduler.handleResponses()
  25. }
  26. func saveState(result *AlertResult) {
  27. cmd := &m.UpdateAlertStateCommand{
  28. AlertId: result.AlertJob.Rule.Id,
  29. NewState: result.State,
  30. Info: result.Description,
  31. }
  32. if err := bus.Dispatch(cmd); err != nil {
  33. log.Error(2, "failed to save state %v", err)
  34. }
  35. }