Documentation
¶
Overview ¶
Package eventrecorder provides a structured event recorder for significant Alertmanager events. Events are serialized as JSON and fanned out to one or more configured destinations.
RecordEvent never blocks the caller: events are serialized and placed on a bounded in-memory queue. A background goroutine drains the queue and sends to destinations. If the queue is full, events are dropped and a metric is incremented.
Index ¶
- func AlertAsProto(alert *types.Alert) *eventrecorderpb.Alert
- func EventRecordingEnabled(ctx context.Context) bool
- func InhibitRuleAsProto(name string, sourceMatchers, targetMatchers labels.Matchers, ...) *eventrecorderpb.InhibitRule
- func LabelSetAsProto(ls model.LabelSet) *eventrecorderpb.LabelSet
- func MatcherAsProto(m *labels.Matcher) *eventrecorderpb.Matcher
- func MatchersAsProto(matchers labels.Matchers) []*eventrecorderpb.Matcher
- func NewAlertCreatedEvent(alert *types.Alert) *eventrecorderpb.EventData
- func NewInhibitionMutedAlertEvent(rules []*eventrecorderpb.InhibitRule, fp model.Fingerprint, ...) *eventrecorderpb.EventData
- func NewSilenceCreatedEvent(silence *eventrecorderpb.Silence) *eventrecorderpb.EventData
- func NewSilenceMutedAlertEvent(silence *eventrecorderpb.Silence, fp model.Fingerprint, lset model.LabelSet) *eventrecorderpb.EventData
- func NewSilenceUpdatedEvent(silence *eventrecorderpb.Silence) *eventrecorderpb.EventData
- func SilenceAsProto(sil *silencepb.Silence) *eventrecorderpb.Silence
- func SilenceMatcherAsProto(m *silencepb.Matcher) *eventrecorderpb.Matcher
- func WithEventRecording(ctx context.Context) context.Context
- type Config
- type Destination
- type FileOutput
- type FileOutputConfig
- type KafkaOutput