开发者社区 问答 正文

用flink如何实现实时告警的功能?

由于需要实时告警功能,经调研,用flink 来实现是比较合适,但有几个问题没搞清楚,请大神们指教,感谢! > > 告警有分两部分: >    一是告警规则的设置,数据存放在mysql,存储的格式是json >     {"times":5}  ---就是事件发生大于5次就发出告警; >     {"temperature": 80} ---就是温度大于80就告警; >    二是告警实现 >           1)上报的数据写入到kafka >           2)flink读取kafka的数据,然后通过翻滚窗口进行计算,如果满足规则就生产告警。 > > > 现在遇到的问题是: > 1. 当规则变更时,如何及时生效? > 2.如果用flink CEP来是实现,对于同一数据源,能否在一个作业里让多个规则同时生效? > 3.这一功能有最佳实践吗? > > 希望哪位解答一下,谢谢! >*来自志愿者整理的flink邮件归档

展开
收起
EXCEED 2021-12-08 10:55:53 1168 分享 版权
1 条回答
写回答
取消 提交回答
  • 可以使用广播,我自己写过一个文章,给你参考下,你可以把source换成每隔几秒钟去读mysql的配置

    https://blog.csdn.net/zhangjun5965/article/details/106573528

    关于cep cep有种策略GroupPattern,可以支持一个流匹配多个规则,但是该功能有个不完善的地方就是多个规则共用同一个within,可以修改源码增加wait算子解决。 目前cep不支持动态修改规则,修改规则需要重启应用,同样也可以修改cep源码来实现动态cep 可参考 哈喽出现动态cep扩展,他们是基于flink1.7实现的  https://developer.aliyun.com/article/738451

    *来自志愿者整理的flink

    2021-12-08 11:22:57
    赞同 展开评论