[rules-users] CEP Rule Help Needed
Nestor Tarin Burriel
nestabur at gmail.com
Wed Jul 22 05:45:04 EDT 2009
Hi again,
Here the info from my engine execution:
KnowledgeBaseConfiguration config =
KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
config.setOption( EventProcessingOption.STREAM );
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(config);
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
SessionConfiguration sessionConf = new SessionConfiguration();
sessionConf.setClockType(ClockType.REALTIME_CLOCK);
ksession = kbase.newStatefulKnowledgeSession(
sessionConf, env);
An here the inserting method:
ksession.getWorkingMemoryEntryPoint("Correlator").insert(fact);
ksession.fireAllRules();
So I dont understand why my CEP rules never fires ...
Thanks again,
nestabur
2009/7/22 Nestor Tarin Burriel <nestabur at gmail.com>
> Hi Edson,
>
> Thanks for the fix, but the problem still happens :(
>
> Here my complete .drl file:
>
> package Correlator
> global com.s2grupo.triton.global.Context Context
>
> declare Snort
> @role( event )
> icmp_code: String
> tcp_sport: String
> data: String
> sig_rev: String
> tcp_dport: String
> udp_sport: String
> hostname: String
> interface: String
> sig_priority: String
> icmp_type: String
> id: java.lang.Long
> sig_class_name: String
> ip_dst: String
> sig_name: String
> udp_dport: String
> ip_src: String
> event_date: java.util.Date
> end
>
> rule "SnortRule"
> salience 2
> dialect "mvel"
> when
> $s1 : Snort( sig_name != "(portscan) Open Port") from entry-point
> "Correlator"
> $s2 : Snort( sig_name != "(portscan) Open Port" , id != $s1.id,
> ip_dst == $s1.ip_dst, this after [5m] $s1) from entry-point "Correlator"
> then
> System.out.println("****************** Snort Alert!!!!" +
> $s1.getData());
> retract($s1);
> end
>
>
> rule "SnortRuleRetract"
> salience 1
> dialect "mvel"
> when
> $s1 : Snort( sig_name != "(portscan) Open Port") from entry-point
> "Correlator"
> $s2 : Snort ( sig_name != "(portscan) Open Port" , id != $s1.id,
> this after [0m,5m] $s1) from entry-point "Correlator"
> then
> retract($s2);
> System.out.println(" ********* Deleting Fact From WM");
> end
>
>
> rule "SnortRule0"
> salience 0
> dialect "mvel"
> when
> $s1 : Snort( this.sig_name != "(portscan) Open Port") from
> entry-point "Correlator"
> then
> System.out.println("********* Snort Alert 0!!" + $s1.getData());
> end
>
> As you can see, I'm trying to correlate snort events with drools.
>
> With this scenario, the only rule that is firing is "SnortRule0"
>
> 2009/7/21 Edson Tirelli <tirelli at post.com>
>
>>
>> Your rule is wrong, as you are defining 3 patterns and the second
>> pattern is looking for a fact in the main entry point, not your defined
>> "MyEntryPoint".
>> Fix it doing:
>>
>> $s2 : MyModel ( name != "aaa" , id != $s1.id, ip == $s1, this after
>> [0m,5m] $s1) from entry-point "MyEntryPoint"
>>
>> []s
>> Edson
>>
>> 2009/7/21 nestabur <nestabur at gmail.com>
>>
>>
>>> Hi all,
>>>
>>> I'm getting crazy trying to create a CEP rule in droos 5.0.1 :(
>>>
>>> The rule is:
>>> ===============
>>> rule "RetractOlderFacts"
>>> dialect "mvel"
>>> when
>>> $s1 : MyModel( name != "aaa") from entry-point
>>> "MyEntryPoint"
>>> $s2 : MyModel ( name != "aaa" , id != $s1.id, ip == $s1)
>>> and MyModel (
>>> this after [0m,5m] $s1) from entry-point "MyEntryPoint"
>>> then
>>> retract($s2);
>>> System.out.println(" ********* Retracting from WM");
>>> end
>>> ===============
>>>
>>> The scenario is:
>>> "After receiving a fact "MyModel" wich name != "aaa", if arrives another
>>> with same ip and different id after a period between 0 and 5 minutes the
>>> rule have to retract the last one and keep the first fact (the older
>>> one)"
>>>
>>> After receiving hundred and hundred of facts via JMS that may match with
>>> the
>>> rule condition, the rule never throws!
>>>
>>> is the rule correct?
>>> could the problem be at the rule engine implementation?
>>>
>>> Could anyone hel me please?
>>>
>>> Thanks in advance,
>>>
>>> nestabur
>>> --
>>> View this message in context:
>>> http://www.nabble.com/CEP-Rule-Help-Needed-tp24591289p24591289.html
>>> Sent from the drools - user mailing list archive at Nabble.com.
>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090722/779bf766/attachment.html
More information about the rules-users
mailing list