标签:elk elastalert elasticsearch
在elasticalert/ruletypes.py中定义的各种RuleType类构成了ElastAlert背后的主要逻辑。 在每个规则的内存中保存一个实例,通过使用给定的过滤器查询Elasticsearch返回的所有数据,并基于该数据生成匹配。
要选择规则类型,请将type选项设置为规则配置文件中规则类型的名称:
type: <rule type>
Any
any:任何规则将匹配一切。 查询返回的每个命中将生成一个警报。
Change --- 改变
有关使用此规则类型的示例配置文件,请查看example_rules / example_change.yaml。
change:此规则将监视某个字段,并在该字段更改时进行匹配。 该领域必须改变具有相同query_key的最后一个事件。
该规则需要三个附加选项:
compare_key:要监视更改的字段的名称。 由于这是字符串列表,我们可以有多个键。 如果任何一个字段发生变化,将触发警报。
ignore_null:如果为true,则没有compare_key字段的事件不会被计数为已更改。 目前这个检查compare_key中的所有字段
query_key:此规则应用于每个query_key的基础上。 该字段必须出现在所有检查的事件中。
还有一个可选字段:
timeframe:更改之间的最长时间。 在这段时间之后,ElastAlert会忘记旧的价值compare_key字段。
Frequency --- 频率
对于使用此规则类型的示例配置文件,请查看example_rules / example_frequency.yaml。
frequency:当给定时间段内至少有一定数量的事件时,此规则匹配。 这可能
按每查询键计算。
此规则需要两个附加选项:
num_events:将触发警报的事件数量。 时间范围:num_events必须发生的时间。
timeframe:num_events必须发生的时间。
Spike
spike:在给定时间段内事件的体积比前一段时间大或小,这一规则匹配。它使用两个滑动窗口来比较事件的当前和参考频率。我们将这两个窗口称为“引用”和“当前”。
这个规则需要三个附加选项:
spike_height:事件的数量在过去的时间比之前的时间表,当将触发警报。
spike_type:“up”,“down”或“both”。“Up”指的是规则只会在事件的次数被spike_height乘以更高时匹配。“Down”指的是比当前数字高的spike_height。“都”将匹配。
timeframe:该规则将平均在这个时间段内发生的事件的比率。例如,小时:1表示“当前”窗口将从现在到一个小时之前,而“参考”窗口将从一个小时前到两个小时前。该规则将不处于活动状态,直到从第一个事件发生的时间至少为两个时间段。这是为了防止在确定基准率之前触发警报。这可以使用alert_on_new_data覆盖。
Flatline --- 扁平线
flatline:当事件的总数低于给定阈值一段时间时,此规则匹配。 此规则需要两个附加选项:
threshold:不触发警报的最小事件数量。
timeframe:必须包含小于阈值事件的时间段。
Cardinality --- 基数
cardinality:当某个时间范围内特定字段的唯一值总数高于或低于阈值时,此规则匹配。
这条规则要求:
timeframe:计算唯一值数量的时间段。
cardinality_field:用于计算基数的字段。
此规则需要以下两个选项之一:
max_cardinality:如果数据的基数大于这个数字,将会触发警报。 每个提高基数的新事件都会触发警报。
min_cardinality:如果数据的基数低于这个数字,将会触发警报。 在发送任何警报之前,必须从第一个事件开始已经过去了时间范围。 当一场比赛发生时,时间框架将被重置,并且必须在额外的警报之前再度过去。
可选的:
query_key:按此字段计算的组基数。 对于query_key字段的每个唯一值,基数将被分开计数。
Percentage Match ---百分比匹配
percentage_match:当计算窗口内的匹配桶中的文档百分比大于或小于阈值时,此规则匹配。 计算窗口默认为buffer_time。
这条规则要求:
match_bucket_filter:ES过滤DSL。 这为匹配桶定义了一个过滤器,它应该匹配主查询过滤器返回的文档的一个子集。
doc_type:指定要搜索的文档的_type。
此规则还需要以下两个选项中的至少一个:
min_percentage:如果匹配文件的百分比小于这个数字,就会触发警报。
max_percentage:如果匹配文档的百分比大于这个数字,将会触发警报。
本文出自 “小科” 博客,请务必保留此出处http://kexiaoke.blog.51cto.com/5530023/1979298
标签:elk elastalert elasticsearch
原文地址:http://kexiaoke.blog.51cto.com/5530023/1979298