Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/ruler/ruler.go

39 lines
820 B

package ruler
import (
"github.com/cortexproject/cortex/pkg/ruler"
cRules "github.com/cortexproject/cortex/pkg/ruler/rules"
"github.com/go-kit/kit/log"
"github.com/grafana/loki/pkg/logql"
"github.com/grafana/loki/pkg/ruler/manager"
"github.com/prometheus/client_golang/prometheus"
)
type Config struct {
ruler.Config `yaml:",inline"`
}
func NewRuler(cfg Config, engine *logql.Engine, reg prometheus.Registerer, logger log.Logger, ruleStore cRules.RuleStore) (*ruler.Ruler, error) {
mgr, err := ruler.NewDefaultMultiTenantManager(
cfg.Config,
manager.MemstoreTenantManager(
cfg.Config,
engine,
),
prometheus.DefaultRegisterer,
logger,
)
if err != nil {
return nil, err
}
return ruler.NewRuler(
cfg.Config,
manager.MultiTenantManagerAdapter(mgr),
reg,
logger,
ruleStore,
)
}