Re: 请教:用flink实现实时告警的功能
针对规则改变,要想实时生效,有两种建议: 1. 利用维表join的功能来join数据库中的规则,flink内部可以配置一定的缓存策略。可以查看下Lookup的实现。 2. 也可以把规则打到kafka的表里,然后通过broadcast来广播最新的规则。 李军 于2020年9月4日周五 下午5:46写道: > 您好! > > >可以使用Flink+drools 做。drools可以实时更新规则 > 2020-9-4 > | | > 李军 > | > | > hold_li...@163.com > | > 签名由网易邮箱大师定制 > 在2020年8月6日 10:26,samuel@ubtrobot.com 写道: > 由于需要实时告警功能,经调研,用flink 来实现是比较合适,但有几个问题没搞清楚,请大神们指教,感谢! > > 告警有分两部分: > 一是告警规则的设置,数据存放在mysql,存储的格式是json > {"times":5} ---就是事件发生大于5次就发出告警; > {"temperature": 80} ---就是温度大于80就告警; > 二是告警实现 > 1)上报的数据写入到kafka > 2)flink读取kafka的数据,然后通过翻滚窗口进行计算,如果满足规则就生产告警。 > > > 现在遇到的问题是: > 1. 当规则变更时,如何及时生效? > 2.如果用flink CEP来是实现,对于同一数据源,能否在一个作业里让多个规则同时生效? > 3.这一功能有最佳实践吗? > > 希望哪位解答一下,谢谢! > > > >
Re:请教:用flink实现实时告警的功能
Hi, 你这个完全就是CEP的使用场景啊, 大于多少次, 大于一定数值组合起来判定事件, 1. 规则变更了, 重启任务就行, 规则都变了, 任务重启也没影响 2. CEP支持规则组合, 时间窗口 3. 最佳实践官网的介绍就很合适 https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/libs/cep.html 在 2020-08-06 10:26:19,"samuel@ubtrobot.com" 写道: >由于需要实时告警功能,经调研,用flink 来实现是比较合适,但有几个问题没搞清楚,请大神们指教,感谢! > >告警有分两部分: > 一是告警规则的设置,数据存放在mysql,存储的格式是json >{"times":5} ---就是事件发生大于5次就发出告警; >{"temperature": 80} ---就是温度大于80就告警; > 二是告警实现 > 1)上报的数据写入到kafka > 2)flink读取kafka的数据,然后通过翻滚窗口进行计算,如果满足规则就生产告警。 > > >现在遇到的问题是: >1. 当规则变更时,如何及时生效? >2.如果用flink CEP来是实现,对于同一数据源,能否在一个作业里让多个规则同时生效? >3.这一功能有最佳实践吗? > >希望哪位解答一下,谢谢! > > >
Re: 请教:用flink实现实时告警的功能
可以使用广播,我自己写过一个文章,给你参考下,你可以把source换成每隔几秒钟去读mysql的配置 https://blog.csdn.net/zhangjun5965/article/details/106573528 samuel@ubtrobot.com 于2020年8月6日周四 上午10:26写道: > 由于需要实时告警功能,经调研,用flink 来实现是比较合适,但有几个问题没搞清楚,请大神们指教,感谢! > > 告警有分两部分: >一是告警规则的设置,数据存放在mysql,存储的格式是json > {"times":5} ---就是事件发生大于5次就发出告警; > {"temperature": 80} ---就是温度大于80就告警; >二是告警实现 > 1)上报的数据写入到kafka > 2)flink读取kafka的数据,然后通过翻滚窗口进行计算,如果满足规则就生产告警。 > > > 现在遇到的问题是: > 1. 当规则变更时,如何及时生效? > 2.如果用flink CEP来是实现,对于同一数据源,能否在一个作业里让多个规则同时生效? > 3.这一功能有最佳实践吗? > > 希望哪位解答一下,谢谢! > > > >