rabins and racluster.conf
Mark E. Mallett
mem at mv.mv.com
Mon Apr 30 15:58:03 EDT 2012
On Mon, Apr 30, 2012 at 03:50:27PM -0400, Carter Bullard wrote:
> Hey Mark,
> May not be a complete solution still, but give this additional patch a try.
> This moves the variable declarations for filter matching into the nested
> aggregator loop.
That does seem to fix it for this test. Thanks!
mm
>
> ==== //depot/argus/clients/clients/rabins.c#71 - /Volumes/Users/carter/argus/clients/clients/rabins.c ====
> 996d995
> < int retn = 0, fretn = -1, lretn = -1;
> 1001a1001
> > int retn = 0, fretn = -1, lretn = -1;
>
>
> I get this kind of result from argus.simple.data.out and your configuration file.
>
> thoth:clients carter$ ../bin/rabins -r ~/argus/data/argus.simple*out -f /tmp/racluster.conf \
> -M time 1d -s stime dur proto dport spkts dpkts sbytes dbytes state
>
> StartTime Dur Proto Dport SrcPkts DstPkts SrcBytes DstBytes State
> 2012/02/13.17:48:36.592155 27.203648 tcp http 38 47 5922 44901 FIN
> 2012/02/13.17:48:36.589949 0.000608 udp * 2 2 148 291 CON
> 2012/02/13.17:48:36.589413 213.552917 arp 8 4 424 256 CON
>
> Carter
>
>
>
>
> On Apr 30, 2012, at 2:50 PM, Mark E. Mallett wrote:
>
> > On Mon, Apr 30, 2012 at 09:38:53AM -0400, Carter Bullard wrote:
> >> Hey Mark,
> >> Sorry for the delayed response !!!!!
> >
> > Not a problem.
> >
> >
> >> Please give these a test, and if all is well, I'll put out the first round of argus-client-3.0.6 fixes !!!
> >> I've included a new copy of rabins.c if you aren't comfortable with patch files.
> >
> > Looks better but still not completely joyful. I applied your patches (and also
> > did a diff against your rabins.c to make sure that one was ok) and did a
> > complete remake and reinstall.
> >
> > It now does the aggregation for the first few lines in my c3.conf, which
> > it did not do before, but still does not for the final "catch-all"
> > filter line.
> >
> > Taking your insight that racluster should do the same thing as rabins with
> > one bin, here's what I find with your argus.simple.data.out file
> >
> > $ racluster -n -f c3.conf -r argus.simple.data.out -s stime proto bytes dport
> > StartTime Proto TotBytes Dport
> > 17:48:36.592155 tcp 50823 80
> > 17:48:36.589949 udp 439 0
> > 17:48:36.589413 arp 680
> >
> > $ rabins -n -f c3.conf -r argus.simple.data.out -M time 1d -s stime proto bytes dport
> > StartTime Proto TotBytes Dport
> > 17:48:36.592155 tcp 50823 80
> > 17:48:36.589949 udp 439 0
> >
> > If you don't get the same results then maybe I've done something wrong
> > here.
> >
> > This is a little clearer perhaps, using one of my own files with data
> > just within one day:
> >
> > $ racluster -n -f c3.conf -r infile -s stime proto bytes dport
> > StartTime Proto TotBytes Dport
> > 00:20:53.200000 tcp 70126187 80
> > 00:21:44.447000 tcp 71531614 443
> > 00:26:50.436603 tcp 3169863 22
> > 00:20:28.010000 udp 12408866 0
> > 00:20:53.221000 tcp 168594597 0
> > 00:25:22.955191 arp 120540
> > 00:33:44.486000 icmp 200541 0x0000
> > 00:57:58.110098 llc 300 0
> > 08:36:56.807000 igmp 28
> >
> > $ rabins -n -f c3.conf -r infile -M time 1d -s stime proto bytes dport
> > StartTime Proto TotBytes Dport
> > 00:20:53.200000 tcp 70126187 80
> > 00:21:44.447000 tcp 71531614 443
> > 00:26:50.436603 tcp 3169863 22
> > 00:20:28.010000 udp 12408866 0
> > 00:20:53.221000 tcp 168594597 0
> >
> > You can see that the catch-all filter rule is not getting anything with
> > rabins, whereas it is with racluster. Just for completeness, the c3.conf
> > file is:
> >
> > $ cat c3.conf
> > # racluster.conf file, testing using this with rabins to
> > # get some specific usage breakdowns. Aggregation by proto and dport
> > # may let us get protocol-based usage for some protocols.
> > RACLUSTER_PRESERVE_FIELDS=no
> > #
> > filter="tcp and dst port eq 80" model="proto dport"
> > filter="tcp and dst port eq 443" model="proto dport"
> > filter="tcp and dst port eq 22" model="proto dport"
> > filter="tcp or udp" model="proto"
> > filter="" model="proto"
> >
> > As an aside: in the commands above I am displaying enough (proto and
> > dport) to try to show which filter rules matched. Is there a way to add
> > a tag of some sort, that would make it easier to extract aggregated data
> > for that rule later? (Perhaps even create a tag and aggregate around the
> > tag value?)
> >
> > -mm-
>
--
Mark E. Mallett
More information about the argus
mailing list