ruleapplicator

package
v0.0.0-...-d841f61 Latest Latest
Warning

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

Go to latest
Published: Jun 11, 2021 License: AGPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const ManualRule = "Manual alarm"
View Source
const MaxMongoRetries = 10
View Source
const MaxRedisLockRetries = 10
View Source
const MaxRedisRetries = 10

Variables

This section is empty.

Functions

func AlreadyBelongsToMetaalarm

func AlreadyBelongsToMetaalarm(alarmAdapter alarm.Adapter, alarmEID string, ruleId, valuePath string) (bool, error)

* @todo: Basically AlreadyBelongsToMetaalarm function should be used in rule_service, but if include an alarmAdapter there, it causes import cycle error alarm->metaalarm->alarm. @todo: AlreadyBelongsToMetaalarm function is used in every applicator, which uses time intervals. This is a temporary solution, until we refactor our alarm/metaalarm packages.

Types

type AttributeApplicator

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

AttributeApplicator implements RuleApplicator interface

func NewAttributeApplicator

func NewAttributeApplicator(alarmAdapter alarm.Adapter, logger zerolog.Logger, metaAlarmService service.MetaAlarmService, redisClient *redis.Client, redisLockClient *redislock.Client) AttributeApplicator

NewAttributeApplicator instantiates AttributeApplicator with MetaAlarmService

func (AttributeApplicator) AlarmMatched

func (a AttributeApplicator) AlarmMatched(event types.Event, rule metaalarm.Rule) bool

AlarmMatched checks alarm attributes agiainst the AttributePatterns in rule configuration

func (AttributeApplicator) Apply

func (a AttributeApplicator) Apply(ctx context.Context, event *types.Event, rule metaalarm.Rule) ([]types.Event, error)

Apply called by RulesService.ProcessEvent

func (AttributeApplicator) EntityMatched

func (a AttributeApplicator) EntityMatched(event types.Event, rule metaalarm.Rule) bool

EntityMatched checks entity attributes agiainst the EntityPatterns in rule configuration

func (AttributeApplicator) EventMatched

func (a AttributeApplicator) EventMatched(event types.Event, rule metaalarm.Rule) bool

EventMatched checks event attributes agiainst the EventPatterns in rule configuration

type ComplexApplicator

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

ComplexApplicator implements RuleApplicator interface

func NewComplexApplicator

func NewComplexApplicator(alarmAdapter alarm.Adapter, metaAlarmService service.MetaAlarmService, redisClient *redis.Client, redisLockClient *redislock.Client, ruleEntityCounter metaalarm.RuleEntityCounter, logger zerolog.Logger) ComplexApplicator

NewComplexApplicator instantiates ComplexApplicator with MetaAlarmService

func (ComplexApplicator) Apply

func (a ComplexApplicator) Apply(ctx context.Context, event *types.Event, rule metaalarm.Rule) ([]types.Event, error)

Apply called by RulesService.ProcessEvent

type ManualGroupApplicator

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

func NewManualGroupApplicator

func NewManualGroupApplicator(alarmAdapter alarm.Adapter, metaAlarmService service.MetaAlarmService,
	ruleAdapter metaalarm.RulesAdapter, logger zerolog.Logger) ManualGroupApplicator

func (ManualGroupApplicator) Apply

type ParentChildApplicator

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

func NewParentChildApplicator

func NewParentChildApplicator(alarmAdapter alarm.Adapter, metaAlarmService service.MetaAlarmService, redisLockClient *redislock.Client, logger zerolog.Logger) ParentChildApplicator

func (ParentChildApplicator) Apply

func (a ParentChildApplicator) Apply(ctx context.Context, event *types.Event, rule metaalarm.Rule) ([]types.Event, error)

type ValueApplicator

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

ValueApplicator implements RuleApplicator interface

func NewValueGroupApplicator

func NewValueGroupApplicator(alarmAdapter alarm.Adapter, metaAlarmService service.MetaAlarmService, redisClient *redis.Client, redisLockClient *redislock.Client, ruleEntityCounter metaalarm.ValueGroupEntityCounter, logger zerolog.Logger) ValueApplicator

NewValueApplicator instantiates ValueApplicator with MetaAlarmService

func (ValueApplicator) Apply

func (a ValueApplicator) Apply(ctx context.Context, event *types.Event, rule metaalarm.Rule) ([]types.Event, error)

Apply called by RulesService.ProcessEvent

Jump to

Keyboard shortcuts

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