设为首页 收藏本站
查看: 1612|回复: 0

[经验分享] ElastAlert报警类型

[复制链接]

尚未签到

发表于 2019-1-29 13:15:33 | 显示全部楼层 |阅读模式
      在elasticalert/ruletypes.py中定义的各种RuleType类构成了ElastAlert背后的主要逻辑。 在每个规则的内存中保存一个实例,通过使用给定的过滤器查询Elasticsearch返回的所有数据,并基于该数据生成匹配。
  要选择规则类型,请将type选项设置为规则配置文件中规则类型的名称:
    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:如果匹配文档的百分比大于这个数字,将会触发警报。








运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-669213-1-1.html 上篇帖子: centos升级默认node版本 下篇帖子: elastic 5.2集群安装笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表