You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 李军 <ho...@163.com> on 2020/09/04 09:46:26 UTC

回复:请教:用flink实现实时告警的功能

        您好!


       可以使用Flink+drools 做。drools可以实时更新规则
2020-9-4
| |
李军
|
|
hold_lijun@163.com
|
签名由网易邮箱大师定制
在2020年8月6日 10:26,samuel.qiu@ubtrobot.com<sa...@ubtrobot.com> 写道:
由于需要实时告警功能,经调研,用flink 来实现是比较合适,但有几个问题没搞清楚,请大神们指教,感谢!

告警有分两部分:
一是告警规则的设置,数据存放在mysql,存储的格式是json
{"times":5}  ---就是事件发生大于5次就发出告警;
{"temperature": 80} ---就是温度大于80就告警;
二是告警实现
1)上报的数据写入到kafka
2)flink读取kafka的数据,然后通过翻滚窗口进行计算,如果满足规则就生产告警。


现在遇到的问题是:
1. 当规则变更时,如何及时生效?
2.如果用flink CEP来是实现,对于同一数据源,能否在一个作业里让多个规则同时生效?
3.这一功能有最佳实践吗?

希望哪位解答一下,谢谢!




Re: 请教:用flink实现实时告警的功能

Posted by 刘建刚 <li...@gmail.com>.
针对规则改变,要想实时生效,有两种建议:

   1. 利用维表join的功能来join数据库中的规则,flink内部可以配置一定的缓存策略。可以查看下Lookup的实现。
   2. 也可以把规则打到kafka的表里,然后通过broadcast来广播最新的规则。


李军 <ho...@163.com> 于2020年9月4日周五 下午5:46写道:

>         您好!
>
>
>        可以使用Flink+drools 做。drools可以实时更新规则
> 2020-9-4
> | |
> 李军
> |
> |
> hold_lijun@163.com
> |
> 签名由网易邮箱大师定制
> 在2020年8月6日 10:26,samuel.qiu@ubtrobot.com<sa...@ubtrobot.com> 写道:
> 由于需要实时告警功能,经调研,用flink 来实现是比较合适,但有几个问题没搞清楚,请大神们指教,感谢!
>
> 告警有分两部分:
> 一是告警规则的设置,数据存放在mysql,存储的格式是json
> {"times":5}  ---就是事件发生大于5次就发出告警;
> {"temperature": 80} ---就是温度大于80就告警;
> 二是告警实现
> 1)上报的数据写入到kafka
> 2)flink读取kafka的数据,然后通过翻滚窗口进行计算,如果满足规则就生产告警。
>
>
> 现在遇到的问题是:
> 1. 当规则变更时,如何及时生效?
> 2.如果用flink CEP来是实现,对于同一数据源,能否在一个作业里让多个规则同时生效?
> 3.这一功能有最佳实践吗?
>
> 希望哪位解答一下,谢谢!
>
>
>
>