racluster man page

racluster — aggregate argus(8) data files.


racluster [-f conf] [-m agr(s)] [-M mode(s)] [raoptions] [-- filter-expression]


Racluster reads argus data from an argus-data source, and clusters/merges the records based on the flow key criteria specified either on the command line, or in a racluster configuration file, and outputs a valid argus-stream. This tool is primarily used for data mining, data management and report generation.

The default action is to merge status records from the same flow and argus probe, providing in some cases huge data reduction with limited loss of flow information. Racluster provides the ability to modify the flow model key, either using the "-m" option, or in the racluster.conf file, allowing records to be clustered based on any number of attributes. This supports the development of important reports, such as MPLS LSP usage statistics, DiffServe flow marking policy verification, VLAN group behavior, IP distance related measurements, routing loop detection, traceroute path data recovery, and complex availability/reachability reports, to name just a few useful applications.

Please see racluster.5 for detailed information regarding racluster configuration.


Racluster, like all ra based clients, supports a number of ra options including filtering of input argus records through a terminating filter expression, and the ability to specify the output style, format and contents for printing data. See ra(1) for a complete description of ra options. racluster(1) specific options are:

-m aggregation object
Supported aggregation objects are:
use a null flow key.
argus source identifier.
source mac(ether) addr.
destination mac(ether) addr.
oui portion of the source mac(ether) addr.
oui portion of the destination mac(ether) addr.
source mpls label.
destination label addr.
source vlan label.
destination vlan addr.
source IP addr/[cidr len | m.a.s.k].
destination IP addr/[cidr len | m.a.s.k].
sorted src and dst IP addr/cidr len.
transaction protocol.
source port number. Implies use of 'proto'.
destination port number. Implies use of 'proto'.
source TOS byte value.
destination TOS byte value.
src -> dst TTL value.
dst -> src TTL value.
src -> dst TCP base sequence number.
dst -> src TCP base sequence number.
intermediate node IP addr/[cidr len | m.a.s.k], source of ICMP mapped events.
source ARIN country code, if present.
destination ARIN country code, if present.
source node origin AS number, if available.
destination node origin AS number, if available.
intermediate node origin AS number, if available.
-M modes
Supported modes are:
Attempt to correct the direction of flows by also searching the reverse flow key, if a match isn't found in the cache. This mode is on by default when using the default full 5-tuple flow key definitions.
Turn off flow correction for direction. This mode is used by default if the flow key has been changed.
Do not generate an aggregate statistic for each flow. This is used primarily when the output represents a single object. Primarily used when merging status records to generate single flows that represent single transactions.
Generate data suitable for producing RMON types of metrics.
Process each input file independantly, so that after the end of each inputfile, racluster flushes its output.
Replace each inputfile contents, with the aggregated output. The initial file compression status is maintained
Verbose operation, printing a line of output for each input file processed. Very useful when using the ra() -R option.


A sample invocation of racluster(1). This call reads argus(8) data from inputfile and aggregates the TCP protocol based argus(8) data. By default, racluster(1) merges using the standard 5-tuple flow key. This method is used to merge multiple status records into a single flow record per transaction.

% ra -r argus.tcp.2012. 
    StartTime      Dur Trans      Flgs  Proto        SrcAddr  Sport   Dir        DstAddr  Dport  TotPkts State 
 12:23:07.268    0.997     1  e i         tcp     ->        298   CON
 12:23:08.294    1.000     1  e           tcp     ->        111   CON
 12:23:09.294    0.991     1  e d         tcp     ->        637   CON
 12:23:10.331    0.330     1  e           tcp     ->         89   CON
 12:23:32.183    0.010     1  e           tcp     ->          3   FIN

% racluster -r argus.tcp.2012.
    StartTime      Dur Trans      Flgs  Proto        SrcAddr  Sport   Dir        DstAddr  Dport  TotPkts State 
 12:23:07.268   24.925     5  e d         tcp     ->       1138   FIN

A sample invocation of racluster(1). This call reads argus(8) data from inputfile and aggregates the TCP protocol based argus(8) data, based on the source and destination address matrix and the protocol. It reports the metrics as a percent of the total.

% racluster -r argus.2012. -m saddr/16 daddr proto -% \
       -s stime dur trans proto saddr dir daddr pkts state - tcp and port https

    StartTime      Dur   pTrans  Proto        SrcAddr  Dir        DstAddr  pTotPkts State 
 17:49:54.225    8.101   33.333    tcp   ->    23.372   FIN
 17:48:42.607  179.761   13.333    tcp   ->    31.052   FIN
 17:50:01.113    0.803    6.667    tcp   ->     5.676   FIN
 17:49:54.525    1.153    6.667    tcp   ->     5.509   FIN
 17:50:35.411  101.133   26.667    tcp   ->    19.199   RST
 17:49:56.061   73.415    6.667    tcp   ->    11.018   RST
 17:49:55.677    0.434    6.667    tcp   ->     4.174   FIN

See Also

racluster(5), ra(1), rarc(5), argus(8),


Carter Bullard (carter@qosient.com).

Referenced By

rabins(1), racluster(5), ratop(1).

07 October 2003 racluster 3.0.8