MCPcopy
hub / github.com/YelpArchive/elastalert / load

Method load

elastalert/loaders.py:99–131  ·  view source on GitHub ↗

Discover and load all the rules as defined in the conf and args. :param dict conf: Configuration dict :param dict args: Arguments dict :return: List of rules :rtype: list

(self, conf, args=None)

Source from the content-addressed store, hash-verified

97 self.base_config = copy.deepcopy(conf)
98
99 def load(self, conf, args=None):
100 """
101 Discover and load all the rules as defined in the conf and args.
102 :param dict conf: Configuration dict
103 :param dict args: Arguments dict
104 :return: List of rules
105 :rtype: list
106 """
107 names = []
108 use_rule = None if args is None else args.rule
109
110 # Load each rule configuration file
111 rules = []
112 rule_files = self.get_names(conf, use_rule)
113 for rule_file in rule_files:
114 try:
115 rule = self.load_configuration(rule_file, conf, args)
116 # A rule failed to load, don't try to process it
117 if not rule:
118 logging.error('Invalid rule file skipped: %s' % rule_file)
119 continue
120 # By setting "is_enabled: False" in rule file, a rule is easily disabled
121 if 'is_enabled' in rule and not rule['is_enabled']:
122 continue
123 if rule['name'] in names:
124 raise EAException('Duplicate rule named %s' % (rule['name']))
125 except EAException as e:
126 raise EAException('Error loading file %s: %s' % (rule_file, e))
127
128 rules.append(rule)
129 names.append(rule['name'])
130
131 return rules
132
133 def get_names(self, conf, use_rule=None):
134 """

Callers 11

test_load_rulesFunction · 0.80
test_load_ssl_env_falseFunction · 0.80
test_load_ssl_env_trueFunction · 0.80
test_load_url_prefix_envFunction · 0.80
test_load_disabled_rulesFunction · 0.80
__init__Method · 0.80
read_es_index_mappingFunction · 0.80
mainFunction · 0.80
__init__Method · 0.80

Calls 4

get_namesMethod · 0.95
load_configurationMethod · 0.95
EAExceptionClass · 0.85
appendMethod · 0.80

Tested by 7

test_load_rulesFunction · 0.64
test_load_ssl_env_falseFunction · 0.64
test_load_ssl_env_trueFunction · 0.64
test_load_url_prefix_envFunction · 0.64
test_load_disabled_rulesFunction · 0.64