Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Alert ¶
type Alert struct { State AlertState Labels model.LabelSet Annotations model.LabelSet // The value at the last evaluation of the alerting expression. Value model.SampleValue // The interval during which the condition of this alert held true. // ResolvedAt will be 0 to indicate a still active alert. ActiveAt, ResolvedAt model.Time }
Alert is the user-level representation of a single instance of an alerting rule.
type AlertState ¶
type AlertState int
AlertState denotes the state of an active alert.
const ( // StateInactive is the state of an alert that is neither firing nor pending. StateInactive AlertState = iota // StatePending is the state of an alert that has been active for less than // the configured threshold duration. StatePending // StateFiring is the state of an alert that has been active for longer than // the configured threshold duration. StateFiring )
func (AlertState) String ¶
func (s AlertState) String() string
type AlertingRule ¶
type AlertingRule struct {
// contains filtered or unexported fields
}
An AlertingRule generates alerts from its vector expression.
func NewAlertingRule ¶
func NewAlertingRule(name string, vec promql.Expr, hold time.Duration, lbls, anns model.LabelSet) *AlertingRule
NewAlertingRule constructs a new AlertingRule.
func (*AlertingRule) ActiveAlerts ¶
func (r *AlertingRule) ActiveAlerts() []*Alert
ActiveAlerts returns a slice of active alerts.
func (*AlertingRule) HTMLSnippet ¶ added in v1.0.0
func (r *AlertingRule) HTMLSnippet(pathPrefix string) html_template.HTML
HTMLSnippet returns an HTML snippet representing this alerting rule. The resulting snippet is expected to be presented in a <pre> element, so that line breaks and other returned whitespace is respected.
func (*AlertingRule) Name ¶
func (r *AlertingRule) Name() string
Name returns the name of the alert.
func (*AlertingRule) State ¶
func (r *AlertingRule) State() AlertState
State returns the maximum state of alert instances for this rule. StateFiring > StatePending > StateInactive
func (*AlertingRule) String ¶
func (r *AlertingRule) String() string
type Group ¶
type Group struct {
// contains filtered or unexported fields
}
Group is a set of rules that have a logical relation.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
The Manager manages recording and alerting rules.
func NewManager ¶
func NewManager(o *ManagerOptions) *Manager
NewManager returns an implementation of Manager, ready to be started by calling the Run method.
func (*Manager) AlertingRules ¶
func (m *Manager) AlertingRules() []*AlertingRule
AlertingRules returns the list of the manager's alerting rules.
func (*Manager) ApplyConfig ¶ added in v1.0.0
ApplyConfig updates the rule manager's state as the config requires. If loading the new rules failed the old rule set is restored. Returns true on success.
type ManagerOptions ¶
type ManagerOptions struct { ExternalURL *url.URL QueryEngine *promql.Engine Notifier *notifier.Notifier SampleAppender storage.SampleAppender }
ManagerOptions bundles options for the Manager.
type RecordingRule ¶
type RecordingRule struct {
// contains filtered or unexported fields
}
A RecordingRule records its vector expression into new timeseries.
func NewRecordingRule ¶
NewRecordingRule returns a new recording rule.
func (RecordingRule) HTMLSnippet ¶ added in v1.0.0
func (rule RecordingRule) HTMLSnippet(pathPrefix string) template.HTML
HTMLSnippet returns an HTML snippet representing this rule.
func (RecordingRule) String ¶
func (rule RecordingRule) String() string
type Rule ¶
type Rule interface { Name() string // String returns a human-readable string representation of the rule. String() string // HTMLSnippet returns a human-readable string representation of the rule, // decorated with HTML elements for use the web frontend. HTMLSnippet(pathPrefix string) html_template.HTML // contains filtered or unexported methods }
A Rule encapsulates a vector expression which is evaluated at a specified interval and acted upon (currently either recorded or used for alerting).
Notes ¶
Bugs ¶
Look at fixing thundering herd.