flink-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Basanth Gowda <basanth.go...@gmail.com>
Subject Re: Flink CEP questions
Date Fri, 18 Aug 2017 01:28:59 GMT
Hi Kostas,

For 3 -> I was able to do the following and it worked perfectly fine. Is
there a way we could reset? Looks like the following code behaves more like
a sliding count. What I want to do is reset the count once the alert has
matched, and start over the count. May be I will have to have some state
and do that in filter event myself ?

Pattern.<Event>begin("rule").where(new IterativeCondition<Event>() {
        public boolean filter(Event event, Context<Event> context)
throws Exception {
            event.getCpu() > 80.0;
}).times(5).within(Time.of(1, TimeUnit.MINUTES));

For 4 -> I wasn't able to do this. Assuming I don't know the frequency of
Input events, I want to tell every event that came in the 1 minute, should
have matched the pattern. It could be 10 events in one minute, may be 50
the next minute.  If all the events in the window match the pattern, then
we want an alert.

thank you,

On Thu, Aug 17, 2017 at 9:46 AM, Kostas Kloudas <k.kloudas@data-artisans.com
> wrote:

> Hi Basanth,
> This is the documentation page can be found here: https://ci.apache.org/
> projects/flink/flink-docs-release-1.3/dev/libs/cep.html
> For:
> 3) you should use the times(N) and the within(TIME) clauses
>   4) if by continuously you mean without stopping, then you should use
> the followedBy() or next()
> (check "Combining Patterns” https://ci.apache.org/
> projects/flink/flink-docs-release-1.3/dev/libs/cep.html#combining-patterns in
> the docs above)
> I am not aware of any examples but you can check this slides:
> https://www.slideshare.net/dataArtisans/kostas-kloudas-
> complex-event-processing-with-flink-the-state-of-flinkcep
> for an overview of the CEP library or you can watch the related video.
> Cheers,
> Kostas
> On Aug 17, 2017, at 3:32 PM, Basanth Gowda <basanth.gowda@gmail.com>
> wrote:
> All,
> New to Flink and more so with Flink CEP.
> I want to write a sample program that does the following :
> Lets suppose data cpu usage of a given server.
>    1. Want to Alert when CPU usage is above or below certain value
>    2. Want to Alert when CPU usage falls in a range
>    3. Want to Alert when the above condition matches n times in x
>    interval (could be seconds, minutes, hours)
>    4. Want to Alert when the above condition happens continuously for x
>    interval (could be seconds, minutes or hours)
> How would we achieve 3, 4 in the list above ? Any examples that I refer to
> ?
> thank you,
> Basanth

View raw message