Documentation ¶
Index ¶
- Constants
- func GroupKey(ctx context.Context) (model.Fingerprint, bool)
- func GroupLabels(ctx context.Context) (model.LabelSet, bool)
- func LoginAuth(username, password string) smtp.Auth
- func NotificationHash(ctx context.Context) ([]byte, bool)
- func Now(ctx context.Context) (time.Time, bool)
- func ReceiverName(ctx context.Context) (string, bool)
- func RepeatInterval(ctx context.Context) (time.Duration, bool)
- func WithGroupKey(ctx context.Context, fp model.Fingerprint) context.Context
- func WithGroupLabels(ctx context.Context, lset model.LabelSet) context.Context
- func WithNotificationHash(ctx context.Context, hash []byte) context.Context
- func WithNow(ctx context.Context, t time.Time) context.Context
- func WithReceiverName(ctx context.Context, rcv string) context.Context
- func WithRepeatInterval(ctx context.Context, t time.Duration) context.Context
- type DedupStage
- type Email
- type FanoutStage
- type Hipchat
- type InhibitStage
- type Integration
- type MultiStage
- type Notifier
- type OpsGenie
- type PagerDuty
- type Pushover
- type RetryStage
- type RoutingStage
- type SetNotifiesStage
- type SilenceStage
- type Slack
- type Stage
- type StageFunc
- type VictorOps
- type WaitStage
- type Webhook
- type WebhookMessage
Constants ¶
const MinTimeout = 10 * time.Second
MinTimeout is the minimum timeout that is set for the context of a call to a notification pipeline.
Variables ¶
This section is empty.
Functions ¶
func GroupKey ¶
func GroupKey(ctx context.Context) (model.Fingerprint, bool)
GroupKey extracts a group key from the context. Iff none exists, the second argument is false.
func GroupLabels ¶
GroupLabels extracts grouping label set from the context. Iff none exists, the second argument is false.
func NotificationHash ¶
NotificationHash extracts a notification hash from the context. Iff none exists, the second argument is false.
func Now ¶
Now extracts a now timestamp from the context. Iff none exists, the second argument is false.
func ReceiverName ¶
ReceiverName extracts a receiver name from the context. Iff none exists, the second argument is false.
func RepeatInterval ¶
RepeatInterval extracts a repeat interval from the context. Iff none exists, the second argument is false.
func WithGroupKey ¶
WithGroupKey populates a context with a group key.
func WithGroupLabels ¶
WithGroupLabels populates a context with grouping labels.
func WithNotificationHash ¶
WithNotificationHash populates a context with a notification hash.
func WithReceiverName ¶
WithReceiverName populates a context with a receiver name.
Types ¶
type DedupStage ¶
type DedupStage struct {
// contains filtered or unexported fields
}
DedupStage filters alerts. Filtering happens based on a notification log.
func NewDedupStage ¶
func NewDedupStage(l nflog.Log, recv *nflogpb.Receiver) *DedupStage
NewDedupStage wraps a DedupStage that runs against the given notification log.
type Email ¶
type Email struct {
// contains filtered or unexported fields
}
Email implements a Notifier for email notifications.
type Hipchat ¶
type Hipchat struct {
// contains filtered or unexported fields
}
Hipchat implements a Notifier for Hipchat notifications.
func NewHipchat ¶
func NewHipchat(conf *config.HipchatConfig, tmpl *template.Template) *Hipchat
NewHipchat returns a new Hipchat notification handler.
type InhibitStage ¶
type InhibitStage struct {
// contains filtered or unexported fields
}
InhibitStage filters alerts through an inhibition muter.
func NewInhibitStage ¶
func NewInhibitStage(m types.Muter, mk types.Marker) *InhibitStage
NewInhibitStage return a new InhibitStage.
type Integration ¶
type Integration struct {
// contains filtered or unexported fields
}
An Integration wraps a notifier and its config to be uniquely identified by name and index from its origin in the configuration.
func BuildReceiverIntegrations ¶
func BuildReceiverIntegrations(nc *config.Receiver, tmpl *template.Template) []Integration
BuildReceiverIntegrations builds a list of integration notifiers off of a receivers config.
type Notifier ¶
A Notifier notifies about alerts under constraints of the given context. It returns an error if unsuccessful and a flag whether the error is recoverable. This information is useful for a retry logic.
type OpsGenie ¶
type OpsGenie struct {
// contains filtered or unexported fields
}
OpsGenie implements a Notifier for OpsGenie notifications.
func NewOpsGenie ¶
func NewOpsGenie(c *config.OpsGenieConfig, t *template.Template) *OpsGenie
NewOpsGenie returns a new OpsGenie notifier.
type PagerDuty ¶
type PagerDuty struct {
// contains filtered or unexported fields
}
PagerDuty implements a Notifier for PagerDuty notifications.
func NewPagerDuty ¶
func NewPagerDuty(c *config.PagerdutyConfig, t *template.Template) *PagerDuty
NewPagerDuty returns a new PagerDuty notifier.
type Pushover ¶
type Pushover struct {
// contains filtered or unexported fields
}
Pushover implements a Notifier for Pushover notifications.
func NewPushover ¶
func NewPushover(c *config.PushoverConfig, t *template.Template) *Pushover
NewPushover returns a new Pushover notifier.
type RetryStage ¶
type RetryStage struct {
// contains filtered or unexported fields
}
RetryStage notifies via passed integration with exponential backoff until it succeeds. It aborts if the context is canceled or timed out.
func NewRetryStage ¶
func NewRetryStage(i Integration) *RetryStage
NewRetryStage returns a new instance of a RetryStage.
type RoutingStage ¶
RoutingStage executes the inner stages based on the receiver specified in the context.
type SetNotifiesStage ¶
type SetNotifiesStage struct {
// contains filtered or unexported fields
}
SetNotifiesStage sets the notification information about passed alerts. The passed alerts should have already been sent to the receivers.
func NewSetNotifiesStage ¶
func NewSetNotifiesStage(l nflog.Log, recv *nflogpb.Receiver) *SetNotifiesStage
NewSetNotifiesStage returns a new instance of a SetNotifiesStage.
type SilenceStage ¶
type SilenceStage struct {
// contains filtered or unexported fields
}
SilenceStage filters alerts through a silence muter.
func NewSilenceStage ¶
func NewSilenceStage(s *silence.Silences, mk types.Marker) *SilenceStage
NewSilenceStage returns a new SilenceStage.
type Slack ¶
type Slack struct {
// contains filtered or unexported fields
}
Slack implements a Notifier for Slack notifications.
type Stage ¶
type Stage interface {
Exec(ctx context.Context, alerts ...*types.Alert) (context.Context, []*types.Alert, error)
}
A Stage processes alerts under the constraints of the given context.
type StageFunc ¶
type StageFunc func(ctx context.Context, alerts ...*types.Alert) (context.Context, []*types.Alert, error)
StageFunc wraps a function to represent a Stage.
type VictorOps ¶
type VictorOps struct {
// contains filtered or unexported fields
}
VictorOps implements a Notifier for VictorOps notifications.
func NewVictorOps ¶
func NewVictorOps(c *config.VictorOpsConfig, t *template.Template) *VictorOps
NewVictorOps returns a new VictorOps notifier.
type WaitStage ¶
type WaitStage struct {
// contains filtered or unexported fields
}
WaitStage waits for a certain amount of time before continuing or until the context is done.
func NewWaitStage ¶
NewWaitStage returns a new WaitStage.
type Webhook ¶
type Webhook struct { // The URL to which notifications are sent. URL string // contains filtered or unexported fields }
Webhook implements a Notifier for generic webhooks.
func NewWebhook ¶
func NewWebhook(conf *config.WebhookConfig, t *template.Template) *Webhook
NewWebhook returns a new Webhook.