Hi Basanth, Ad.3 Unfortunately right now, you cannot reset, but there is ongoing work to introduce AfterMatchSkipStrategies(https://issues.apache.org/jira/browse/FLINK-7169?filter=12339990). This will allow the behaviour you described with the SKIP_PAST_LAST strategy.
Ad.4 If I understand correctly, you would like to trigger the Pattern matching just at the end of the window. The CEP library emits the matches as soon as they are found, so I don’t think you can implement that use case with CEP. You can though try implement it yourself with e.g. ProcessFunction (https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/stream/process_function.html) > On 18 Aug 2017, at 03:28, Basanth Gowda <basanth.go...@gmail.com> wrote: > > 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>() { > @Override > 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, > Basanth > > On Thu, Aug 17, 2017 at 9:46 AM, Kostas Kloudas <k.klou...@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.go...@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. >> >> • Want to Alert when CPU usage is above or below certain value >> • Want to Alert when CPU usage falls in a range >> • Want to Alert when the above condition matches n times in x interval >> (could be seconds, minutes, hours) >> • 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 > >
signature.asc
Description: Message signed with OpenPGP