Versions in this module Expand all Collapse all v2 v2.0.0 Jun 14, 2023 Changes in this version + const AlertForStateMetricName + const EvalModeLocal + const EvalModeRemote + const MetricsPrefix + func DialQueryFrontend(cfg *QueryFrontendConfig) (httpgrpc.HTTPClient, error) + func ForStateMetric(base labels.Labels, alertName string) labels.Labels + func MultiTenantManagerAdapter(mgr ruler.MultiTenantManager) ruler.MultiTenantManager + func MultiTenantRuleManager(cfg Config, evaluator Evaluator, overrides RulesLimits, logger log.Logger, ...) ruler.ManagerFactory + func NewRuler(cfg Config, evaluator Evaluator, reg prometheus.Registerer, logger log.Logger, ...) (*ruler.Ruler, error) + func ValidateGroups(grps ...rulefmt.RuleGroup) (errs []error) + type CachingGroupLoader struct + func NewCachingGroupLoader(l rules.GroupLoader) *CachingGroupLoader + func (l *CachingGroupLoader) AlertingRules() []rulefmt.Rule + func (l *CachingGroupLoader) Load(identifier string) (*rulefmt.RuleGroups, []error) + func (l *CachingGroupLoader) Parse(query string) (parser.Expr, error) + func (l *CachingGroupLoader) Prune(toKeep []string) + type CachingRulesManager struct + func (m *CachingRulesManager) RuleGroups() []*rules.Group + func (m *CachingRulesManager) Run() + func (m *CachingRulesManager) Stop() + func (m *CachingRulesManager) Update(interval time.Duration, files []string, externalLabels labels.Labels, ...) error + type Config struct + Evaluation EvaluationConfig + RemoteWrite RemoteWriteConfig + WAL instance.Config + WALCleaner cleaner.Config + func (c *Config) RegisterFlags(f *flag.FlagSet) + func (c *Config) Validate() error + type EvaluationConfig struct + MaxJitter time.Duration + Mode string + QueryFrontend QueryFrontendConfig + func (c *EvaluationConfig) RegisterFlags(f *flag.FlagSet) + func (c *EvaluationConfig) Validate() error + type Evaluator interface + Eval func(ctx context.Context, qs string, now time.Time) (*logqlmodel.Result, error) + func NewEvaluatorWithJitter(inner Evaluator, maxJitter time.Duration, hasher hash.Hash32, ...) Evaluator + type EvaluatorWithJitter struct + func (e *EvaluatorWithJitter) Eval(ctx context.Context, qs string, now time.Time) (*logqlmodel.Result, error) + type GroupLoader struct + func (GroupLoader) Parse(query string) (parser.Expr, error) + func (g GroupLoader) Load(identifier string) (*rulefmt.RuleGroups, []error) + type LocalEvaluator struct + func NewLocalEvaluator(engine *logql.Engine, logger log.Logger) (*LocalEvaluator, error) + func (l *LocalEvaluator) Eval(ctx context.Context, qs string, now time.Time) (*logqlmodel.Result, error) + type MemStore struct + func NewMemStore(userID string, queryFunc rules.QueryFunc, metrics *memstoreMetrics, ...) *MemStore + func (m *MemStore) Querier(ctx context.Context, _, maxt int64) (storage.Querier, error) + func (m *MemStore) Start(iter RuleIter) + func (m *MemStore) Stop() + type Middleware func(ctx context.Context, req *httpgrpc.HTTPRequest) error + type MultiTenantManager struct + func (m *MultiTenantManager) GetRules(userID string) []*rules.Group + func (m *MultiTenantManager) Stop() + func (m *MultiTenantManager) SyncRuleGroups(ctx context.Context, ruleGroups map[string]rulespb.RuleGroupList) + func (m *MultiTenantManager) ValidateRuleGroup(grp rulefmt.RuleGroup) []error + type QueryFrontendConfig struct + Address string + TLS tls.ClientConfig + TLSEnabled bool + func (c *QueryFrontendConfig) RegisterFlags(f *flag.FlagSet) + type RemoteEvaluator struct + func NewRemoteEvaluator(client httpgrpc.HTTPClient, overrides RulesLimits, logger log.Logger, ...) (*RemoteEvaluator, error) + func (r *RemoteEvaluator) Eval(ctx context.Context, qs string, now time.Time) (*logqlmodel.Result, error) + func (r *RemoteEvaluator) Query(ctx context.Context, ch chan<- queryResponse, orgID, qs string, t time.Time) + type RemoteWriteConfig struct + Client *config.RemoteWriteConfig + Clients map[string]config.RemoteWriteConfig + ConfigRefreshPeriod time.Duration + Enabled bool + func (c *RemoteWriteConfig) Clone() (*RemoteWriteConfig, error) + func (c *RemoteWriteConfig) RegisterFlags(f *flag.FlagSet) + func (c *RemoteWriteConfig) Validate() error + type RuleCache struct + func NewRuleCache(metrics *memstoreMetrics) *RuleCache + func (c *RuleCache) CleanupOldSamples(olderThan time.Time) (empty bool) + func (c *RuleCache) Get(ts time.Time, ls labels.Labels) (*promql.Sample, bool) + func (c *RuleCache) Set(ts time.Time, vec promql.Vector) + type RuleIter interface + AlertingRules func() []rulefmt.Rule + type RulesLimits interface + RulerRemoteEvaluationMaxResponseSize func(userID string) int64 + RulerRemoteEvaluationTimeout func(userID string) time.Duration + RulerRemoteWriteConfig func(userID string, id string) *config.RemoteWriteConfig + RulerRemoteWriteDisabled func(userID string) bool + RulerRemoteWriteHeaders func(userID string) map[string]string + RulerRemoteWriteQueueBatchSendDeadline func(userID string) time.Duration + RulerRemoteWriteQueueCapacity func(userID string) int + RulerRemoteWriteQueueMaxBackoff func(userID string) time.Duration + RulerRemoteWriteQueueMaxSamplesPerSend func(userID string) int + RulerRemoteWriteQueueMaxShards func(userID string) int + RulerRemoteWriteQueueMinBackoff func(userID string) time.Duration + RulerRemoteWriteQueueMinShards func(userID string) int + RulerRemoteWriteQueueRetryOnRateLimit func(userID string) bool + RulerRemoteWriteRelabelConfigs func(userID string) []*util.RelabelConfig + RulerRemoteWriteSigV4Config func(userID string) *sigv4.SigV4Config + RulerRemoteWriteTimeout func(userID string) time.Duration + RulerRemoteWriteURL func(userID string) string