Documentation
¶
Index ¶
- Variables
- func NewRuleStorage(cfg RuleStoreConfig) (rules.RuleStore, error)
- func RegisterRulerServer(s *grpc.Server, srv RulerServer)
- func SendAlerts(n *notifier.Manager, externalURL string) promRules.NotifyFunc
- func ValidateRuleGroup(g rulefmt.RuleGroup) []error
- type Alert
- type AlertDiscovery
- type AlertStateDesc
- func (*AlertStateDesc) Descriptor() ([]byte, []int)
- func (this *AlertStateDesc) Equal(that interface{}) bool
- func (m *AlertStateDesc) GetActiveAt() time.Time
- func (m *AlertStateDesc) GetFiredAt() time.Time
- func (m *AlertStateDesc) GetLastSentAt() time.Time
- func (m *AlertStateDesc) GetResolvedAt() time.Time
- func (m *AlertStateDesc) GetState() string
- func (m *AlertStateDesc) GetValidUntil() time.Time
- func (m *AlertStateDesc) GetValue() float64
- func (this *AlertStateDesc) GoString() string
- func (m *AlertStateDesc) Marshal() (dAtA []byte, err error)
- func (m *AlertStateDesc) MarshalTo(dAtA []byte) (int, error)
- func (m *AlertStateDesc) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*AlertStateDesc) ProtoMessage()
- func (m *AlertStateDesc) Reset()
- func (m *AlertStateDesc) Size() (n int)
- func (this *AlertStateDesc) String() string
- func (m *AlertStateDesc) Unmarshal(dAtA []byte) error
- func (m *AlertStateDesc) XXX_DiscardUnknown()
- func (m *AlertStateDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *AlertStateDesc) XXX_Merge(src proto.Message)
- func (m *AlertStateDesc) XXX_Size() int
- func (m *AlertStateDesc) XXX_Unmarshal(b []byte) error
- type Config
- type GroupStateDesc
- func (*GroupStateDesc) Descriptor() ([]byte, []int)
- func (this *GroupStateDesc) Equal(that interface{}) bool
- func (m *GroupStateDesc) GetActiveRules() []*RuleStateDesc
- func (m *GroupStateDesc) GetEvaluationDuration() time.Duration
- func (m *GroupStateDesc) GetEvaluationTimestamp() time.Time
- func (m *GroupStateDesc) GetGroup() *rules.RuleGroupDesc
- func (this *GroupStateDesc) GoString() string
- func (m *GroupStateDesc) Marshal() (dAtA []byte, err error)
- func (m *GroupStateDesc) MarshalTo(dAtA []byte) (int, error)
- func (m *GroupStateDesc) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*GroupStateDesc) ProtoMessage()
- func (m *GroupStateDesc) Reset()
- func (m *GroupStateDesc) Size() (n int)
- func (this *GroupStateDesc) String() string
- func (m *GroupStateDesc) Unmarshal(dAtA []byte) error
- func (m *GroupStateDesc) XXX_DiscardUnknown()
- func (m *GroupStateDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *GroupStateDesc) XXX_Merge(src proto.Message)
- func (m *GroupStateDesc) XXX_Size() int
- func (m *GroupStateDesc) XXX_Unmarshal(b []byte) error
- type ManagerFactory
- type ManagerMetrics
- type Pusher
- type PusherAppendable
- type RingConfig
- type RuleDiscovery
- type RuleGroup
- type RuleStateDesc
- func (*RuleStateDesc) Descriptor() ([]byte, []int)
- func (this *RuleStateDesc) Equal(that interface{}) bool
- func (m *RuleStateDesc) GetAlerts() []*AlertStateDesc
- func (m *RuleStateDesc) GetEvaluationDuration() time.Duration
- func (m *RuleStateDesc) GetEvaluationTimestamp() time.Time
- func (m *RuleStateDesc) GetHealth() string
- func (m *RuleStateDesc) GetLastError() string
- func (m *RuleStateDesc) GetRule() *rules.RuleDesc
- func (m *RuleStateDesc) GetState() string
- func (this *RuleStateDesc) GoString() string
- func (m *RuleStateDesc) Marshal() (dAtA []byte, err error)
- func (m *RuleStateDesc) MarshalTo(dAtA []byte) (int, error)
- func (m *RuleStateDesc) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*RuleStateDesc) ProtoMessage()
- func (m *RuleStateDesc) Reset()
- func (m *RuleStateDesc) Size() (n int)
- func (this *RuleStateDesc) String() string
- func (m *RuleStateDesc) Unmarshal(dAtA []byte) error
- func (m *RuleStateDesc) XXX_DiscardUnknown()
- func (m *RuleStateDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RuleStateDesc) XXX_Merge(src proto.Message)
- func (m *RuleStateDesc) XXX_Size() int
- func (m *RuleStateDesc) XXX_Unmarshal(b []byte) error
- type RuleStoreConfig
- type Ruler
- func (r *Ruler) CreateRuleGroup(w http.ResponseWriter, req *http.Request)
- func (r *Ruler) DeleteRuleGroup(w http.ResponseWriter, req *http.Request)
- func (r *Ruler) GetRuleGroup(w http.ResponseWriter, req *http.Request)
- func (r *Ruler) GetRules(ctx context.Context) ([]*GroupStateDesc, error)
- func (r *Ruler) ListRules(w http.ResponseWriter, req *http.Request)
- func (r *Ruler) OnRingInstanceHeartbeat(_ *ring.BasicLifecycler, _ *ring.Desc, _ *ring.IngesterDesc)
- func (r *Ruler) OnRingInstanceRegister(_ *ring.BasicLifecycler, ringDesc ring.Desc, instanceExists bool, ...) (ring.IngesterState, ring.Tokens)
- func (r *Ruler) OnRingInstanceStopping(_ *ring.BasicLifecycler)
- func (r *Ruler) OnRingInstanceTokens(_ *ring.BasicLifecycler, _ ring.Tokens)
- func (r *Ruler) PrometheusAlerts(w http.ResponseWriter, req *http.Request)
- func (r *Ruler) PrometheusRules(w http.ResponseWriter, req *http.Request)
- func (r *Ruler) Rules(ctx context.Context, in *RulesRequest) (*RulesResponse, error)
- func (r *Ruler) ServeHTTP(w http.ResponseWriter, req *http.Request)
- type RulerClient
- type RulerServer
- type RulesRequest
- func (*RulesRequest) Descriptor() ([]byte, []int)
- func (this *RulesRequest) Equal(that interface{}) bool
- func (this *RulesRequest) GoString() string
- func (m *RulesRequest) Marshal() (dAtA []byte, err error)
- func (m *RulesRequest) MarshalTo(dAtA []byte) (int, error)
- func (m *RulesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*RulesRequest) ProtoMessage()
- func (m *RulesRequest) Reset()
- func (m *RulesRequest) Size() (n int)
- func (this *RulesRequest) String() string
- func (m *RulesRequest) Unmarshal(dAtA []byte) error
- func (m *RulesRequest) XXX_DiscardUnknown()
- func (m *RulesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RulesRequest) XXX_Merge(src proto.Message)
- func (m *RulesRequest) XXX_Size() int
- func (m *RulesRequest) XXX_Unmarshal(b []byte) error
- type RulesResponse
- func (*RulesResponse) Descriptor() ([]byte, []int)
- func (this *RulesResponse) Equal(that interface{}) bool
- func (m *RulesResponse) GetGroups() []*GroupStateDesc
- func (this *RulesResponse) GoString() string
- func (m *RulesResponse) Marshal() (dAtA []byte, err error)
- func (m *RulesResponse) MarshalTo(dAtA []byte) (int, error)
- func (m *RulesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*RulesResponse) ProtoMessage()
- func (m *RulesResponse) Reset()
- func (m *RulesResponse) Size() (n int)
- func (this *RulesResponse) String() string
- func (m *RulesResponse) Unmarshal(dAtA []byte) error
- func (m *RulesResponse) XXX_DiscardUnknown()
- func (m *RulesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RulesResponse) XXX_Merge(src proto.Message)
- func (m *RulesResponse) XXX_Size() int
- func (m *RulesResponse) XXX_Unmarshal(b []byte) error
- type UnimplementedRulerServer
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNoNamespace signals that no namespace was specified in the request ErrNoNamespace = errors.New("a namespace must be provided in the request") // ErrNoGroupName signals a group name url parameter was not found ErrNoGroupName = errors.New("a matching group name must be provided in the request") // ErrNoRuleGroups signals the rule group requested does not exist ErrNoRuleGroups = errors.New("no rule groups found") // ErrBadRuleGroup is returned when the provided rule group can not be unmarshalled ErrBadRuleGroup = errors.New("unable to decoded rule group") )
var ( ErrInvalidLengthRuler = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowRuler = fmt.Errorf("proto: integer overflow") )
Functions ¶
func NewRuleStorage ¶
func NewRuleStorage(cfg RuleStoreConfig) (rules.RuleStore, error)
NewRuleStorage returns a new rule storage backend poller and store
func RegisterRulerServer ¶
func RegisterRulerServer(s *grpc.Server, srv RulerServer)
func SendAlerts ¶
func SendAlerts(n *notifier.Manager, externalURL string) promRules.NotifyFunc
SendAlerts implements a rules.NotifyFunc for a Notifier. It filters any non-firing alerts from the input.
Copied from Prometheus's main.go.
func ValidateRuleGroup ¶
ValidateRuleGroup validates a rulegroup
Types ¶
type Alert ¶
type Alert struct { Labels labels.Labels `json:"labels"` Annotations labels.Labels `json:"annotations"` State string `json:"state"` ActiveAt *time.Time `json:"activeAt"` Value string `json:"value"` }
Alert has info for an alert.
type AlertDiscovery ¶
type AlertDiscovery struct {
Alerts []*Alert `json:"alerts"`
}
AlertDiscovery has info for all active alerts.
type AlertStateDesc ¶
type AlertStateDesc struct { State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` Labels []github_com_cortexproject_cortex_pkg_ingester_client.LabelAdapter `` /* 131-byte string literal not displayed */ Annotations []github_com_cortexproject_cortex_pkg_ingester_client.LabelAdapter `` /* 141-byte string literal not displayed */ Value float64 `protobuf:"fixed64,4,opt,name=value,proto3" json:"value,omitempty"` ActiveAt time.Time `protobuf:"bytes,5,opt,name=active_at,json=activeAt,proto3,stdtime" json:"active_at"` FiredAt time.Time `protobuf:"bytes,6,opt,name=fired_at,json=firedAt,proto3,stdtime" json:"fired_at"` ResolvedAt time.Time `protobuf:"bytes,7,opt,name=resolved_at,json=resolvedAt,proto3,stdtime" json:"resolved_at"` LastSentAt time.Time `protobuf:"bytes,8,opt,name=last_sent_at,json=lastSentAt,proto3,stdtime" json:"last_sent_at"` ValidUntil time.Time `protobuf:"bytes,9,opt,name=valid_until,json=validUntil,proto3,stdtime" json:"valid_until"` }
func (*AlertStateDesc) Descriptor ¶
func (*AlertStateDesc) Descriptor() ([]byte, []int)
func (*AlertStateDesc) Equal ¶
func (this *AlertStateDesc) Equal(that interface{}) bool
func (*AlertStateDesc) GetActiveAt ¶
func (m *AlertStateDesc) GetActiveAt() time.Time
func (*AlertStateDesc) GetFiredAt ¶
func (m *AlertStateDesc) GetFiredAt() time.Time
func (*AlertStateDesc) GetLastSentAt ¶
func (m *AlertStateDesc) GetLastSentAt() time.Time
func (*AlertStateDesc) GetResolvedAt ¶
func (m *AlertStateDesc) GetResolvedAt() time.Time
func (*AlertStateDesc) GetState ¶
func (m *AlertStateDesc) GetState() string
func (*AlertStateDesc) GetValidUntil ¶
func (m *AlertStateDesc) GetValidUntil() time.Time
func (*AlertStateDesc) GetValue ¶
func (m *AlertStateDesc) GetValue() float64
func (*AlertStateDesc) GoString ¶
func (this *AlertStateDesc) GoString() string
func (*AlertStateDesc) Marshal ¶
func (m *AlertStateDesc) Marshal() (dAtA []byte, err error)
func (*AlertStateDesc) MarshalToSizedBuffer ¶
func (m *AlertStateDesc) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*AlertStateDesc) ProtoMessage ¶
func (*AlertStateDesc) ProtoMessage()
func (*AlertStateDesc) Reset ¶
func (m *AlertStateDesc) Reset()
func (*AlertStateDesc) Size ¶
func (m *AlertStateDesc) Size() (n int)
func (*AlertStateDesc) String ¶
func (this *AlertStateDesc) String() string
func (*AlertStateDesc) Unmarshal ¶
func (m *AlertStateDesc) Unmarshal(dAtA []byte) error
func (*AlertStateDesc) XXX_DiscardUnknown ¶
func (m *AlertStateDesc) XXX_DiscardUnknown()
func (*AlertStateDesc) XXX_Marshal ¶
func (m *AlertStateDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*AlertStateDesc) XXX_Merge ¶
func (m *AlertStateDesc) XXX_Merge(src proto.Message)
func (*AlertStateDesc) XXX_Size ¶
func (m *AlertStateDesc) XXX_Size() int
func (*AlertStateDesc) XXX_Unmarshal ¶
func (m *AlertStateDesc) XXX_Unmarshal(b []byte) error
type Config ¶
type Config struct { // This is used for template expansion in alerts; must be a valid URL. ExternalURL flagext.URLValue `yaml:"external_url"` // TLS parameters for the GRPC Client ClientTLSConfig tls.ClientConfig `yaml:"ruler_client"` // How frequently to evaluate rules by default. EvaluationInterval time.Duration `yaml:"evaluation_interval"` // Delay the evaluation of all rules by a set interval to give a buffer // to metric that haven't been forwarded to cortex yet. EvaluationDelay time.Duration `yaml:"evaluation_delay_duration"` // How frequently to poll for updated rules. PollInterval time.Duration `yaml:"poll_interval"` // Rule Storage and Polling configuration. StoreConfig RuleStoreConfig `yaml:"storage"` // Path to store rule files for prom manager. RulePath string `yaml:"rule_path"` // URL of the Alertmanager to send notifications to. AlertmanagerURL flagext.StringSlice `yaml:"alertmanager_url"` // Whether to use DNS SRV records to discover Alertmanager. AlertmanagerDiscovery bool `yaml:"enable_alertmanager_discovery"` // How long to wait between refreshing the list of Alertmanager based on DNS service discovery. AlertmanagerRefreshInterval time.Duration `yaml:"alertmanager_refresh_interval"` // Enables the ruler notifier to use the Alertmananger V2 API. AlertmanangerEnableV2API bool `yaml:"enable_alertmanager_v2"` // Capacity of the queue for notifications to be sent to the Alertmanager. NotificationQueueCapacity int `yaml:"notification_queue_capacity"` // HTTP timeout duration when sending notifications to the Alertmanager. NotificationTimeout time.Duration `yaml:"notification_timeout"` // Max time to tolerate outage for restoring "for" state of alert. OutageTolerance time.Duration `yaml:"for_outage_tolerance"` // Minimum duration between alert and restored "for" state. This is maintained only for alerts with configured "for" time greater than grace period. ForGracePeriod time.Duration `yaml:"for_grace_period"` // Minimum amount of time to wait before resending an alert to Alertmanager. ResendDelay time.Duration `yaml:"resend_delay"` // Enable sharding rule groups. EnableSharding bool `yaml:"enable_sharding"` SearchPendingFor time.Duration `yaml:"search_pending_for"` Ring RingConfig `yaml:"ring"` FlushCheckPeriod time.Duration `yaml:"flush_period"` EnableAPI bool `yaml:"enable_api"` }
Config is the configuration for the recording rules server.
func (*Config) RegisterFlags ¶
RegisterFlags adds the flags required to config this to the given FlagSet
type GroupStateDesc ¶
type GroupStateDesc struct { Group *rules.RuleGroupDesc `protobuf:"bytes,1,opt,name=group,proto3" json:"group,omitempty"` ActiveRules []*RuleStateDesc `protobuf:"bytes,2,rep,name=active_rules,json=activeRules,proto3" json:"active_rules,omitempty"` EvaluationTimestamp time.Time `protobuf:"bytes,3,opt,name=evaluationTimestamp,proto3,stdtime" json:"evaluationTimestamp"` EvaluationDuration time.Duration `protobuf:"bytes,4,opt,name=evaluationDuration,proto3,stdduration" json:"evaluationDuration"` }
GroupStateDesc is a proto representation of a cortex rule group
func (*GroupStateDesc) Descriptor ¶
func (*GroupStateDesc) Descriptor() ([]byte, []int)
func (*GroupStateDesc) Equal ¶
func (this *GroupStateDesc) Equal(that interface{}) bool
func (*GroupStateDesc) GetActiveRules ¶
func (m *GroupStateDesc) GetActiveRules() []*RuleStateDesc
func (*GroupStateDesc) GetEvaluationDuration ¶
func (m *GroupStateDesc) GetEvaluationDuration() time.Duration
func (*GroupStateDesc) GetEvaluationTimestamp ¶
func (m *GroupStateDesc) GetEvaluationTimestamp() time.Time
func (*GroupStateDesc) GetGroup ¶
func (m *GroupStateDesc) GetGroup() *rules.RuleGroupDesc
func (*GroupStateDesc) GoString ¶
func (this *GroupStateDesc) GoString() string
func (*GroupStateDesc) Marshal ¶
func (m *GroupStateDesc) Marshal() (dAtA []byte, err error)
func (*GroupStateDesc) MarshalToSizedBuffer ¶
func (m *GroupStateDesc) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*GroupStateDesc) ProtoMessage ¶
func (*GroupStateDesc) ProtoMessage()
func (*GroupStateDesc) Reset ¶
func (m *GroupStateDesc) Reset()
func (*GroupStateDesc) Size ¶
func (m *GroupStateDesc) Size() (n int)
func (*GroupStateDesc) String ¶
func (this *GroupStateDesc) String() string
func (*GroupStateDesc) Unmarshal ¶
func (m *GroupStateDesc) Unmarshal(dAtA []byte) error
func (*GroupStateDesc) XXX_DiscardUnknown ¶
func (m *GroupStateDesc) XXX_DiscardUnknown()
func (*GroupStateDesc) XXX_Marshal ¶
func (m *GroupStateDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*GroupStateDesc) XXX_Merge ¶
func (m *GroupStateDesc) XXX_Merge(src proto.Message)
func (*GroupStateDesc) XXX_Size ¶
func (m *GroupStateDesc) XXX_Size() int
func (*GroupStateDesc) XXX_Unmarshal ¶
func (m *GroupStateDesc) XXX_Unmarshal(b []byte) error
type ManagerFactory ¶
type ManagerFactory = func( ctx context.Context, userID string, notifier *notifier.Manager, logger log.Logger, reg prometheus.Registerer, ) *rules.Manager
type ManagerMetrics ¶
type ManagerMetrics struct { EvalDuration *prometheus.Desc IterationDuration *prometheus.Desc IterationsMissed *prometheus.Desc IterationsScheduled *prometheus.Desc EvalTotal *prometheus.Desc EvalFailures *prometheus.Desc GroupInterval *prometheus.Desc GroupLastEvalTime *prometheus.Desc GroupLastDuration *prometheus.Desc GroupRules *prometheus.Desc // contains filtered or unexported fields }
ManagerMetrics aggregates metrics exported by the Prometheus rules package and returns them as Cortex metrics
func NewManagerMetrics ¶
func NewManagerMetrics() *ManagerMetrics
NewManagerMetrics returns a ManagerMetrics struct
func (*ManagerMetrics) AddUserRegistry ¶
func (m *ManagerMetrics) AddUserRegistry(user string, reg *prometheus.Registry)
AddUserRegistry adds a Prometheus registry to the struct
func (*ManagerMetrics) Collect ¶
func (m *ManagerMetrics) Collect(out chan<- prometheus.Metric)
Collect implements the Collector interface
func (*ManagerMetrics) Describe ¶
func (m *ManagerMetrics) Describe(out chan<- *prometheus.Desc)
Describe implements the Collector interface
func (*ManagerMetrics) Registries ¶
func (m *ManagerMetrics) Registries() map[string]*prometheus.Registry
Registries returns a map of prometheus registries managed by the struct
type Pusher ¶
type Pusher interface {
Push(context.Context, *client.WriteRequest) (*client.WriteResponse, error)
}
Pusher is an ingester server that accepts pushes.
type PusherAppendable ¶
type PusherAppendable struct {
// contains filtered or unexported fields
}
PusherAppendable fulfills the storage.Appendable interface for prometheus manager
func (*PusherAppendable) Appender ¶
func (t *PusherAppendable) Appender() storage.Appender
Appender returns a storage.Appender
type RingConfig ¶
type RingConfig struct { KVStore kv.Config `yaml:"kvstore"` HeartbeatPeriod time.Duration `yaml:"heartbeat_period"` HeartbeatTimeout time.Duration `yaml:"heartbeat_timeout"` // Instance details InstanceID string `yaml:"instance_id" doc:"hidden"` InstanceInterfaceNames []string `yaml:"instance_interface_names" doc:"hidden"` InstancePort int `yaml:"instance_port" doc:"hidden"` InstanceAddr string `yaml:"instance_addr" doc:"hidden"` NumTokens int `yaml:"num_tokens"` // Injected internally ListenPort int `yaml:"-"` // Used for testing SkipUnregister bool `yaml:"-"` }
RingConfig masks the ring lifecycler config which contains many options not really required by the rulers ring. This config is used to strip down the config to the minimum, and avoid confusion to the user.
func (*RingConfig) RegisterFlags ¶
func (cfg *RingConfig) RegisterFlags(f *flag.FlagSet)
RegisterFlags adds the flags required to config this to the given FlagSet
func (*RingConfig) ToLifecyclerConfig ¶
func (cfg *RingConfig) ToLifecyclerConfig() (ring.BasicLifecyclerConfig, error)
ToLifecyclerConfig returns a LifecyclerConfig based on the ruler ring config.
func (*RingConfig) ToRingConfig ¶
func (cfg *RingConfig) ToRingConfig() ring.Config
type RuleDiscovery ¶
type RuleDiscovery struct {
RuleGroups []*RuleGroup `json:"groups"`
}
RuleDiscovery has info for all rules
type RuleGroup ¶
type RuleGroup struct { Name string `json:"name"` File string `json:"file"` // In order to preserve rule ordering, while exposing type (alerting or recording) // specific properties, both alerting and recording rules are exposed in the // same array. Rules []rule `json:"rules"` Interval float64 `json:"interval"` LastEvaluation time.Time `json:"lastEvaluation"` EvaluationTime float64 `json:"evaluationTime"` }
RuleGroup has info for rules which are part of a group
type RuleStateDesc ¶
type RuleStateDesc struct { Rule *rules.RuleDesc `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` Health string `protobuf:"bytes,3,opt,name=health,proto3" json:"health,omitempty"` LastError string `protobuf:"bytes,4,opt,name=lastError,proto3" json:"lastError,omitempty"` Alerts []*AlertStateDesc `protobuf:"bytes,5,rep,name=alerts,proto3" json:"alerts,omitempty"` EvaluationTimestamp time.Time `protobuf:"bytes,6,opt,name=evaluationTimestamp,proto3,stdtime" json:"evaluationTimestamp"` EvaluationDuration time.Duration `protobuf:"bytes,7,opt,name=evaluationDuration,proto3,stdduration" json:"evaluationDuration"` }
RuleStateDesc is a proto representation of a Prometheus Rule
func (*RuleStateDesc) Descriptor ¶
func (*RuleStateDesc) Descriptor() ([]byte, []int)
func (*RuleStateDesc) Equal ¶
func (this *RuleStateDesc) Equal(that interface{}) bool
func (*RuleStateDesc) GetAlerts ¶
func (m *RuleStateDesc) GetAlerts() []*AlertStateDesc
func (*RuleStateDesc) GetEvaluationDuration ¶
func (m *RuleStateDesc) GetEvaluationDuration() time.Duration
func (*RuleStateDesc) GetEvaluationTimestamp ¶
func (m *RuleStateDesc) GetEvaluationTimestamp() time.Time
func (*RuleStateDesc) GetHealth ¶
func (m *RuleStateDesc) GetHealth() string
func (*RuleStateDesc) GetLastError ¶
func (m *RuleStateDesc) GetLastError() string
func (*RuleStateDesc) GetRule ¶
func (m *RuleStateDesc) GetRule() *rules.RuleDesc
func (*RuleStateDesc) GetState ¶
func (m *RuleStateDesc) GetState() string
func (*RuleStateDesc) GoString ¶
func (this *RuleStateDesc) GoString() string
func (*RuleStateDesc) Marshal ¶
func (m *RuleStateDesc) Marshal() (dAtA []byte, err error)
func (*RuleStateDesc) MarshalToSizedBuffer ¶
func (m *RuleStateDesc) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*RuleStateDesc) ProtoMessage ¶
func (*RuleStateDesc) ProtoMessage()
func (*RuleStateDesc) Reset ¶
func (m *RuleStateDesc) Reset()
func (*RuleStateDesc) Size ¶
func (m *RuleStateDesc) Size() (n int)
func (*RuleStateDesc) String ¶
func (this *RuleStateDesc) String() string
func (*RuleStateDesc) Unmarshal ¶
func (m *RuleStateDesc) Unmarshal(dAtA []byte) error
func (*RuleStateDesc) XXX_DiscardUnknown ¶
func (m *RuleStateDesc) XXX_DiscardUnknown()
func (*RuleStateDesc) XXX_Marshal ¶
func (m *RuleStateDesc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RuleStateDesc) XXX_Merge ¶
func (m *RuleStateDesc) XXX_Merge(src proto.Message)
func (*RuleStateDesc) XXX_Size ¶
func (m *RuleStateDesc) XXX_Size() int
func (*RuleStateDesc) XXX_Unmarshal ¶
func (m *RuleStateDesc) XXX_Unmarshal(b []byte) error
type RuleStoreConfig ¶
type RuleStoreConfig struct { Type string `yaml:"type"` ConfigDB client.Config `yaml:"configdb"` // Object Storage Configs Azure azure.BlobStorageConfig `yaml:"azure"` GCS gcp.GCSConfig `yaml:"gcs"` S3 aws.S3Config `yaml:"s3"` Swift openstack.SwiftConfig `yaml:"swift"` Local local.Config `yaml:"local"` // contains filtered or unexported fields }
RuleStoreConfig configures a rule store.
func (*RuleStoreConfig) IsDefaults ¶
func (cfg *RuleStoreConfig) IsDefaults() bool
IsDefaults returns true if the storage options have not been set
func (*RuleStoreConfig) RegisterFlags ¶
func (cfg *RuleStoreConfig) RegisterFlags(f *flag.FlagSet)
RegisterFlags registers flags.
func (*RuleStoreConfig) Validate ¶
func (cfg *RuleStoreConfig) Validate() error
Validate config and returns error on failure
type Ruler ¶
Ruler evaluates rules.
func NewRuler ¶
func NewRuler(cfg Config, managerFactory ManagerFactory, reg prometheus.Registerer, logger log.Logger, ruleStore rules.RuleStore) (*Ruler, error)
NewRuler creates a new ruler from a distributor and chunk store.
func (*Ruler) CreateRuleGroup ¶
func (r *Ruler) CreateRuleGroup(w http.ResponseWriter, req *http.Request)
func (*Ruler) DeleteRuleGroup ¶
func (r *Ruler) DeleteRuleGroup(w http.ResponseWriter, req *http.Request)
func (*Ruler) GetRuleGroup ¶
func (r *Ruler) GetRuleGroup(w http.ResponseWriter, req *http.Request)
func (*Ruler) GetRules ¶
func (r *Ruler) GetRules(ctx context.Context) ([]*GroupStateDesc, error)
GetRules retrieves the running rules from this ruler and all running rulers in the ring if sharding is enabled
func (*Ruler) OnRingInstanceHeartbeat ¶
func (r *Ruler) OnRingInstanceHeartbeat(_ *ring.BasicLifecycler, _ *ring.Desc, _ *ring.IngesterDesc)
func (*Ruler) OnRingInstanceRegister ¶
func (r *Ruler) OnRingInstanceRegister(_ *ring.BasicLifecycler, ringDesc ring.Desc, instanceExists bool, instanceID string, instanceDesc ring.IngesterDesc) (ring.IngesterState, ring.Tokens)
func (*Ruler) OnRingInstanceStopping ¶
func (r *Ruler) OnRingInstanceStopping(_ *ring.BasicLifecycler)
func (*Ruler) OnRingInstanceTokens ¶
func (r *Ruler) OnRingInstanceTokens(_ *ring.BasicLifecycler, _ ring.Tokens)
func (*Ruler) PrometheusAlerts ¶
func (r *Ruler) PrometheusAlerts(w http.ResponseWriter, req *http.Request)
func (*Ruler) PrometheusRules ¶
func (r *Ruler) PrometheusRules(w http.ResponseWriter, req *http.Request)
func (*Ruler) Rules ¶
func (r *Ruler) Rules(ctx context.Context, in *RulesRequest) (*RulesResponse, error)
Rules implements the rules service
type RulerClient ¶
type RulerClient interface {
Rules(ctx context.Context, in *RulesRequest, opts ...grpc.CallOption) (*RulesResponse, error)
}
RulerClient is the client API for Ruler service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewRulerClient ¶
func NewRulerClient(cc *grpc.ClientConn) RulerClient
type RulerServer ¶
type RulerServer interface {
Rules(context.Context, *RulesRequest) (*RulesResponse, error)
}
RulerServer is the server API for Ruler service.
type RulesRequest ¶
type RulesRequest struct { }
func (*RulesRequest) Descriptor ¶
func (*RulesRequest) Descriptor() ([]byte, []int)
func (*RulesRequest) Equal ¶
func (this *RulesRequest) Equal(that interface{}) bool
func (*RulesRequest) GoString ¶
func (this *RulesRequest) GoString() string
func (*RulesRequest) Marshal ¶
func (m *RulesRequest) Marshal() (dAtA []byte, err error)
func (*RulesRequest) MarshalToSizedBuffer ¶
func (m *RulesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*RulesRequest) ProtoMessage ¶
func (*RulesRequest) ProtoMessage()
func (*RulesRequest) Reset ¶
func (m *RulesRequest) Reset()
func (*RulesRequest) Size ¶
func (m *RulesRequest) Size() (n int)
func (*RulesRequest) String ¶
func (this *RulesRequest) String() string
func (*RulesRequest) Unmarshal ¶
func (m *RulesRequest) Unmarshal(dAtA []byte) error
func (*RulesRequest) XXX_DiscardUnknown ¶
func (m *RulesRequest) XXX_DiscardUnknown()
func (*RulesRequest) XXX_Marshal ¶
func (m *RulesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RulesRequest) XXX_Merge ¶
func (m *RulesRequest) XXX_Merge(src proto.Message)
func (*RulesRequest) XXX_Size ¶
func (m *RulesRequest) XXX_Size() int
func (*RulesRequest) XXX_Unmarshal ¶
func (m *RulesRequest) XXX_Unmarshal(b []byte) error
type RulesResponse ¶
type RulesResponse struct {
Groups []*GroupStateDesc `protobuf:"bytes,1,rep,name=groups,proto3" json:"groups,omitempty"`
}
func (*RulesResponse) Descriptor ¶
func (*RulesResponse) Descriptor() ([]byte, []int)
func (*RulesResponse) Equal ¶
func (this *RulesResponse) Equal(that interface{}) bool
func (*RulesResponse) GetGroups ¶
func (m *RulesResponse) GetGroups() []*GroupStateDesc
func (*RulesResponse) GoString ¶
func (this *RulesResponse) GoString() string
func (*RulesResponse) Marshal ¶
func (m *RulesResponse) Marshal() (dAtA []byte, err error)
func (*RulesResponse) MarshalToSizedBuffer ¶
func (m *RulesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*RulesResponse) ProtoMessage ¶
func (*RulesResponse) ProtoMessage()
func (*RulesResponse) Reset ¶
func (m *RulesResponse) Reset()
func (*RulesResponse) Size ¶
func (m *RulesResponse) Size() (n int)
func (*RulesResponse) String ¶
func (this *RulesResponse) String() string
func (*RulesResponse) Unmarshal ¶
func (m *RulesResponse) Unmarshal(dAtA []byte) error
func (*RulesResponse) XXX_DiscardUnknown ¶
func (m *RulesResponse) XXX_DiscardUnknown()
func (*RulesResponse) XXX_Marshal ¶
func (m *RulesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RulesResponse) XXX_Merge ¶
func (m *RulesResponse) XXX_Merge(src proto.Message)
func (*RulesResponse) XXX_Size ¶
func (m *RulesResponse) XXX_Size() int
func (*RulesResponse) XXX_Unmarshal ¶
func (m *RulesResponse) XXX_Unmarshal(b []byte) error
type UnimplementedRulerServer ¶
type UnimplementedRulerServer struct { }
UnimplementedRulerServer can be embedded to have forward compatible implementations.
func (*UnimplementedRulerServer) Rules ¶
func (*UnimplementedRulerServer) Rules(ctx context.Context, req *RulesRequest) (*RulesResponse, error)