notifier

package
v1.49.0-cluster Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 5, 2020 License: Apache-2.0 Imports: 17 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitTemplateFunc

func InitTemplateFunc(externalURL *url.URL)

InitTemplateFunc returns template helper functions

func ValidateTemplates added in v1.35.0

func ValidateTemplates(annotations map[string]string) error

ValidateTemplates validate annotations for possible template error, uses empty data for template population

Types

type Alert

type Alert struct {
	GroupID     uint64
	Name        string
	Labels      map[string]string
	Annotations map[string]string
	State       AlertState

	Expr  string
	Start time.Time
	End   time.Time
	Value float64
	ID    uint64
}

Alert the triggered alert TODO: Looks like alert name isn't unique

func (*Alert) ExecTemplate

func (a *Alert) ExecTemplate(annotations map[string]string) (map[string]string, error)

ExecTemplate executes the Alert template for give map of annotations.

type AlertManager

type AlertManager struct {
	// contains filtered or unexported fields
}

AlertManager represents integration provider with Prometheus alert manager https://github.com/prometheus/alertmanager

func NewAlertManager

func NewAlertManager(alertManagerURL, user, pass string, fn AlertURLGenerator, c *http.Client) *AlertManager

NewAlertManager is a constructor for AlertManager

func (*AlertManager) Send

func (am *AlertManager) Send(ctx context.Context, alerts []Alert) error

Send an alert or resolve message

type AlertState

type AlertState int

AlertState type indicates the Alert state

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 (as AlertState) String() string

String stringer for AlertState

type AlertURLGenerator

type AlertURLGenerator func(Alert) string

AlertURLGenerator returns URL to single alert by given name

type Notifier

type Notifier interface {
	Send(ctx context.Context, alerts []Alert) error
}

Notifier is common interface for alert manager provider

func Init added in v1.37.4

func Init(gen AlertURLGenerator) ([]Notifier, error)

Init creates a Notifier object based on provided flags.

type Time

type Time int64

Time is the number of milliseconds since the epoch (1970-01-01 00:00 UTC) excluding leap seconds.

func TimeFromUnixNano

func TimeFromUnixNano(t int64) Time

TimeFromUnixNano returns the Time equivalent to the Unix Time t provided in nanoseconds.

func (Time) Time

func (t Time) Time() time.Time

Time returns the time.Time representation of t.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL