Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Error ¶
type Error struct {
Group string
Rule int
RuleName string
Err WrappedError
}
Error represents semantic errors on parsing rule groups.
type Rule ¶
type Rule struct {
Record string `yaml:"record,omitempty"`
Alert string `yaml:"alert,omitempty"`
Expr string `yaml:"expr"`
For model.Duration `yaml:"for,omitempty"`
KeepFiringFor model.Duration `yaml:"keep_firing_for,omitempty"`
Labels map[string]string `yaml:"labels,omitempty"`
Annotations map[string]string `yaml:"annotations,omitempty"`
}
Rule describes an alerting or recording rule.
type RuleGroup ¶
type RuleGroup struct {
Name string `yaml:"name"`
Interval model.Duration `yaml:"interval,omitempty"`
Limit int `yaml:"limit,omitempty"`
Rules []RuleNode `yaml:"rules"`
}
RuleGroup is a list of sequentially evaluated recording and alerting rules.
type RuleGroups ¶
type RuleGroups struct {
Groups []RuleGroup `yaml:"groups"`
}
RuleGroups is a set of rule groups that are typically exposed in a file.
func Parse ¶
func Parse(content []byte) (*RuleGroups, []error)
Parse parses and validates a set of rules.
func ParseFile ¶
func ParseFile(file string) (*RuleGroups, []error)
ParseFile reads and parses rules from a file.
func (*RuleGroups) Validate ¶
func (g *RuleGroups) Validate(node ruleGroups) (errs []error)
Validate validates all rules in the rule groups.
type RuleNode ¶
type RuleNode struct {
Record yaml.Node `yaml:"record,omitempty"`
Alert yaml.Node `yaml:"alert,omitempty"`
Expr yaml.Node `yaml:"expr"`
For model.Duration `yaml:"for,omitempty"`
KeepFiringFor model.Duration `yaml:"keep_firing_for,omitempty"`
Labels map[string]string `yaml:"labels,omitempty"`
Annotations map[string]string `yaml:"annotations,omitempty"`
}
RuleNode adds yaml.v3 layer to support line and column outputs for invalid rules.
func (*RuleNode) Validate ¶
func (r *RuleNode) Validate() (nodes []WrappedError)
Validate the rule and return a list of encountered errors.
type WrappedError ¶
type WrappedError struct {
// contains filtered or unexported fields
}
WrappedError wraps error with the yaml node which can be used to represent the line and column numbers of the error.
func (*WrappedError) Error ¶
func (we *WrappedError) Error() string
Error prints the error message in a formatted string.
func (*WrappedError) Unwrap ¶
func (we *WrappedError) Unwrap() error
Unwrap unpacks wrapped error for use in errors.Is & errors.As.