Documentation
¶
Index ¶
- Constants
- func AlreadyBelongsToMetaalarm(alarmAdapter alarm.Adapter, alarmEID string, ruleId, valuePath string) (bool, error)
- type AttributeApplicator
- func (a AttributeApplicator) AlarmMatched(event types.Event, rule metaalarm.Rule) bool
- func (a AttributeApplicator) Apply(ctx context.Context, event *types.Event, rule metaalarm.Rule) ([]types.Event, error)
- func (a AttributeApplicator) EntityMatched(event types.Event, rule metaalarm.Rule) bool
- func (a AttributeApplicator) EventMatched(event types.Event, rule metaalarm.Rule) bool
- type ComplexApplicator
- type ManualGroupApplicator
- type ParentChildApplicator
- type ValueApplicator
Constants ¶
const ManualRule = "Manual alarm"
const MaxMongoRetries = 10
const MaxRedisLockRetries = 10
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 ¶
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 ¶
EntityMatched checks entity attributes agiainst the EntityPatterns in rule configuration
func (AttributeApplicator) EventMatched ¶
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
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
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
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