 Documentation
      ¶
      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 ¶
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 ¶
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 ¶
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.