Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Alert ¶
Alert wraps a model.Alert with additional information relevant to internal of the Alertmanager. The type is never exposed to external communication and the embedded alert has to be sanitized beforehand.
type AlertSlice ¶
type AlertSlice []*Alert
AlertSlice is a sortable slice of Alerts.
func (AlertSlice) Len ¶
func (as AlertSlice) Len() int
func (AlertSlice) Less ¶
func (as AlertSlice) Less(i, j int) bool
func (AlertSlice) Swap ¶
func (as AlertSlice) Swap(i, j int)
type AlertState ¶ added in v0.6.1
type AlertState string
AlertState is used as part of AlertStatus.
const ( AlertStateUnprocessed AlertState = "unprocessed" AlertStateActive AlertState = "active" AlertStateSuppressed AlertState = "suppressed" )
Possible values for AlertState.
type AlertStatus ¶ added in v0.6.1
type AlertStatus struct { State AlertState `json:"state"` SilencedBy []string `json:"silencedBy"` InhibitedBy []string `json:"inhibitedBy"` // contains filtered or unexported fields }
AlertStatus stores the state of an alert and, as applicable, the IDs of silences silencing the alert and of other alerts inhibiting the alert. Note that currently, SilencedBy is supposed to be the complete set of the relevant silences while InhibitedBy may contain only a subset of the inhibiting alerts – in practice exactly one ID. (This somewhat confusing semantics might change in the future.)
type Marker ¶
type Marker interface { // SetActive sets the provided alert to AlertStateActive and deletes all // SilencedBy and InhibitedBy entries. SetActive(alert model.Fingerprint) // SetSilenced replaces the previous SilencedBy by the provided IDs of // silences, including the version number of the silences state. The set // of provided IDs is supposed to represent the complete set of relevant // silences. If no ID is provided and InhibitedBy is already empty, this // call is equivalent to SetActive. Otherwise, it sets // AlertStateSuppressed. SetSilenced(alert model.Fingerprint, version int, silenceIDs ...string) // SetInhibited replaces the previous InhibitedBy by the provided IDs of // alerts. In contrast to SetSilenced, the set of provided IDs is not // expected to represent the complete set of inhibiting alerts. (In // practice, this method is only called with one or zero IDs. However, // this expectation might change in the future.) If no ID is provided and // SilencedBy is already empty, this call is equivalent to // SetActive. Otherwise, it sets AlertStateSuppressed. SetInhibited(alert model.Fingerprint, alertIDs ...string) // Count alerts of the given state(s). With no state provided, count all // alerts. Count(...AlertState) int // Status of the given alert. Status(model.Fingerprint) AlertStatus // Delete the given alert. Delete(model.Fingerprint) // Various methods to inquire if the given alert is in a certain // AlertState. Silenced also returns all the silencing silences, while // Inhibited may return only a subset of inhibiting alerts. Silenced // also returns the version of the silences state the result is based // on. Unprocessed(model.Fingerprint) bool Active(model.Fingerprint) bool Silenced(model.Fingerprint) ([]string, int, bool) Inhibited(model.Fingerprint) ([]string, bool) }
Marker helps to mark alerts as silenced and/or inhibited. All methods are goroutine-safe.
func NewMarker ¶
func NewMarker(r prometheus.Registerer) Marker
NewMarker returns an instance of a Marker implementation.
type Matcher ¶
type Matcher struct { Name string `json:"name"` Value string `json:"value"` IsRegex bool `json:"isRegex"` // contains filtered or unexported fields }
Matcher defines a matching rule for the value of a given label.
func NewMatcher ¶
NewMatcher returns a new matcher that compares against equality of the given value.
func NewRegexMatcher ¶
NewRegexMatcher returns a new matcher that compares values against a regular expression. The matcher is already initialized.
TODO(fabxc): refactor usage.
func (*Matcher) Init ¶ added in v0.5.0
Init internals of the Matcher. Must be called before using Match.
type Matchers ¶
type Matchers []*Matcher
Matchers provides the Match and Fingerprint methods for a slice of Matchers. Matchers must always be sorted.
func NewMatchers ¶ added in v0.5.0
NewMatchers returns the given Matchers sorted.
type MultiError ¶
type MultiError struct {
// contains filtered or unexported fields
}
MultiError contains multiple errors and implements the error interface. Its zero value is ready to use. All its methods are goroutine safe.
func (*MultiError) Error ¶
func (e *MultiError) Error() string
func (*MultiError) Errors ¶
func (e *MultiError) Errors() []error
Errors returns the errors added to the MuliError. The returned slice is a copy of the internal slice of errors.
func (*MultiError) Len ¶
func (e *MultiError) Len() int
Len returns the number of errors added to the MultiError.
type Muter ¶
A Muter determines whether a given label set is muted. Implementers that maintain an underlying Marker are expected to update it during a call of Mutes.
type Silence ¶
type Silence struct { // A unique identifier across all connected instances. ID string `json:"id"` // A set of matchers determining if a label set is affect // by the silence. Matchers Matchers `json:"matchers"` // Time range of the silence. // // * StartsAt must not be before creation time // * EndsAt must be after StartsAt // * Deleting a silence means to set EndsAt to now // * Time range must not be modified in different ways // // TODO(fabxc): this may potentially be extended by // creation and update timestamps. StartsAt time.Time `json:"startsAt"` EndsAt time.Time `json:"endsAt"` // The last time the silence was updated. UpdatedAt time.Time `json:"updatedAt"` // Information about who created the silence for which reason. CreatedBy string `json:"createdBy"` Comment string `json:"comment,omitempty"` Status SilenceStatus `json:"status"` }
A Silence determines whether a given label set is muted.
type SilenceState ¶ added in v0.7.0
type SilenceState string
SilenceState is used as part of SilenceStatus.
const ( SilenceStateExpired SilenceState = "expired" SilenceStateActive SilenceState = "active" SilenceStatePending SilenceState = "pending" )
Possible values for SilenceState.
func CalcSilenceState ¶ added in v0.7.0
func CalcSilenceState(start, end time.Time) SilenceState
CalcSilenceState returns the SilenceState that a silence with the given start and end time would have right now.
type SilenceStatus ¶ added in v0.7.0
type SilenceStatus struct {
State SilenceState `json:"state"`
}
SilenceStatus stores the state of a silence.