Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HashRule ¶ added in v1.37.1
HashRule hashes significant Rule fields into unique hash that supposed to define Rule uniqueness
func ReadFromFS ¶ added in v1.97.7
ReadFromFS parses the given path list and inits FS for each item. Once initialed, ReadFromFS will try to read and return files from each FS. ReadFromFS returns an error if at least one FS failed to init. The function can be called multiple times but each unique path will be initialed only once.
It is allowed to mix different FS types in path list.
Types ¶
type FS ¶ added in v1.88.0
type FS interface { // Init initializes FS. Init() error // String must return human-readable representation of FS. String() string // List returns the list of file names which will be read via Read fn List() ([]string, error) // Read returns a list of read files in form of a map // where key is a file name and value is a content of read file. // Read must be called only after the successful Init call. Read(files []string) (map[string][]byte, error) }
FS represent a file system abstract for reading files.
type Group ¶
type Group struct { Type Type `yaml:"type,omitempty"` File string Name string `yaml:"name"` Interval *promutils.Duration `yaml:"interval,omitempty"` EvalOffset *promutils.Duration `yaml:"eval_offset,omitempty"` // EvalDelay will adjust the `time` parameter of rule evaluation requests to compensate intentional query delay from datasource. // see https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5155 EvalDelay *promutils.Duration `yaml:"eval_delay,omitempty"` Limit int `yaml:"limit,omitempty"` Rules []Rule `yaml:"rules"` Concurrency int `yaml:"concurrency"` // Labels is a set of label value pairs, that will be added to every rule. // It has priority over the external labels. Labels map[string]string `yaml:"labels"` // Checksum stores the hash of yaml definition for this group. // May be used to detect any changes like rules re-ordering etc. Checksum string // Optional HTTP URL parameters added to each rule request Params url.Values `yaml:"params"` // Headers contains optional HTTP headers added to each rule request Headers []Header `yaml:"headers,omitempty"` // NotifierHeaders contains optional HTTP headers sent to notifiers for generated notifications NotifierHeaders []Header `yaml:"notifier_headers,omitempty"` // EvalAlignment will make the timestamp of group query requests be aligned with interval EvalAlignment *bool `yaml:"eval_alignment,omitempty"` // Catches all undefined fields and must be empty after parsing. XXX map[string]any `yaml:",inline"` }
Group contains list of Rules grouped into entity with one name and evaluation interval
func Parse ¶
func Parse(pathPatterns []string, validateTplFn ValidateTplFn, validateExpressions bool) ([]Group, error)
Parse parses rule configs from given file patterns
func ParseSilent ¶ added in v1.89.0
func ParseSilent(pathPatterns []string, validateTplFn ValidateTplFn, validateExpressions bool) ([]Group, error)
ParseSilent parses rule configs from given file patterns without emitting logs
func (*Group) UnmarshalYAML ¶ added in v1.41.0
UnmarshalYAML implements the yaml.Unmarshaler interface.
type Rule ¶ added in v1.34.4
type Rule struct { ID uint64 Record string `yaml:"record,omitempty"` Alert string `yaml:"alert,omitempty"` Expr string `yaml:"expr"` For *promutils.Duration `yaml:"for,omitempty"` // Alert will continue firing for this long even when the alerting expression no longer has results. KeepFiringFor *promutils.Duration `yaml:"keep_firing_for,omitempty"` Labels map[string]string `yaml:"labels,omitempty"` Annotations map[string]string `yaml:"annotations,omitempty"` Debug bool `yaml:"debug,omitempty"` // UpdateEntriesLimit defines max number of rule's state updates stored in memory. // Overrides `-rule.updateEntriesLimit`. UpdateEntriesLimit *int `yaml:"update_entries_limit,omitempty"` // Catches all undefined fields and must be empty after parsing. XXX map[string]any `yaml:",inline"` }
Rule describes entity that represent either recording rule or alerting rule.
func (*Rule) UnmarshalYAML ¶ added in v1.37.1
UnmarshalYAML implements the yaml.Unmarshaler interface.
type Type ¶ added in v1.80.0
type Type struct {
Name string
}
Type represents data source type
func NewGraphiteType ¶ added in v1.80.0
func NewGraphiteType() Type
NewGraphiteType returns graphite datasource type
func NewPrometheusType ¶ added in v1.80.0
func NewPrometheusType() Type
NewPrometheusType returns prometheus datasource type
func NewRawType ¶ added in v1.80.0
NewRawType returns datasource type from raw string without validation.
func NewVLogsType ¶ added in v1.97.11
func NewVLogsType() Type
NewVLogsType returns victorialogs datasource type
func (Type) MarshalYAML ¶ added in v1.80.0
MarshalYAML implements the yaml.Unmarshaler interface.
func (*Type) UnmarshalYAML ¶ added in v1.80.0
UnmarshalYAML implements the yaml.Unmarshaler interface.
func (*Type) ValidateExpr ¶ added in v1.80.0
ValidateExpr validates query expression with datasource ql.
type ValidateTplFn ¶ added in v1.80.0
ValidateTplFn must validate the given annotations