Provided by: argus-client_3.0.8.2-6.1ubuntu1_amd64 bug

NAME

       rastream - stream block processor for argus(8) data.

SYNOPSIS

       rastream  [[-M  splitmode]  [splitmode  options]]  [-f  file  processing  program -B secs]
       [raoptions] [-- filter-expression]

DESCRIPTION

       Rastream reads argus data from an argus-data source, and splits the resulting output  into
       consecutive  sections  of  records  based  on size, count time, or flow event, writing the
       output into a set of output-files.

       Rastream provides the option to run a program against the output files, seconds after  the
       file  is  understood  to  be  finished.  The program must be specified in a manner so that
       rastream can find it, either within the system $PATH, or provided as a full pathname.

       By default, rastream splits the stream by output file record count, putting 10,000 records
       of input into each argus output file, or standard out, as needed.  The behavior is similar
       to the unix split.1 command.

       The output files' name consists of a prefix, which is specified using the  -w  ra  option,
       and  a  suffix,  which is created for each resulting file.  If no prefix is provided, then
       rastream will use 'x' as the default prefix.  The suffix that is used is determined by the
       mode  of  operation.   When rastream is using the default count mode or the size mode, the
       suffix is a group of letters 'aa', ´ab´, and so on, such  that  concatenating  the  output
       files  in  sorted  order  by file name produces the original input file.  If rastream will
       need to create more output files than are allowed by the  default  suffix  strategy,  more
       letters  will  be  added,  in order to accomodate the needed files.  When the mode is time
       mode, the default  output  filename  suffix  is  '%Y.%m.%d.%h.%m.%s',  which  is  used  by
       strftime()  to create an output filename that is time oriented.  This default is overrided
       by adding a '%' extension to the name provided on the commandline using the -w option.

       When standard out is specified, using -w -, rastream will  output  a  single  argus-stream
       with  START and STOP argus management records inserted appropriately to indicate where the
       output is split.  See argus(8) for more information on output stream formats.

       When rastream is spliting on output record count (the default), the number of  records  is
       specified as an ordinal counter, the default is 10,000 records.  When rastream is spliting
       based on the maximum output file size, the size is specified as bytes.  The scale  of  the
       bytes can be specified by appending 'b', 'k' and 'm' to the number provided.

       When rastream is spliting based on time, the time period is specified with the option, and
       can be any period based in seconds (s), minutes (m),  hours  (h),  days  (d),  weeks  (w),
       months  (M) or years (y).  Rastream will create and modify records as required to split on
       prescribed time boundaries.  If any record spans a time boundary, the record is split  and
       the  metrics  are adjusted using a uniform distribution model to distribute the statistics
       between the two records.  Care is taken to avoid records with zero packet and byte counts,
       that could result from roundoff error.

       When  rastream  is spliting based on flow event, the flow that acts as the event marker is
       specified using a standard ra filter expression, that is bounded by quotes  (").   Records
       that  preceed  the first flow event in the data stream are written to the specified output
       file, and then new files are generated with the flow event record being the  first  record
       of  the  new file.  This method will allow you to use wire events as triggers for spliting
       data.

RASTREAM SPECIFIC OPTIONS

       Rastream, like all ra based clients, supports a number of ra options including remote data
       access,  reading  from  multiple  files  and  filtering  of  input argus records through a
       terminating filter expression.  rastream(1) specific options are:

       -a suffix length
           Starting append suffix length. The default is 2 characters.

       -B duration
           Buffer hold time before processing.  This value is usually in the  5-15  second  range
           and  provides  time  for  rastream to sort records and schedule outputfile processing.
           The number is derived from the larges FAR  status  interval  of  all  the  argus  data
           sources encountered.

       -f program
           Post  processing  program.  rastream, will execute this program just after closing the
           output file, passing the full path to the closed output file  as  a  parameter,  using
           this convention:

              program -r /full/path/to/closed/file

           This allows you to post-process the output file in an automated fashion.

           Generally,  this  program can do anything you like, such as aggregating and correcting
           flow records, labeling records for semantic enhancement,  indexing  the  files,  using
           programs like rasqltimeindex(), and compressing the files.  Traditionally, the program
           has been a shell-script, perl program, or  php  script,  so  that  it  can  be  easily
           modified,  on  the fly, but it can be any executable that can handle the "-r filename"
           parameter convention.  The program should provides its own  accountability  and  error
           logging, so that you know that things are working as you expect.

           rastream must have a path to the program, the program must be executable, and rastream
           must have permission to run the program for this strategy to be successful.

           An example rastream.sh is provided in the ./support/Config directory.

       -M splitmode
           Supported spliting modes are:
                  count <num>
                   size <size>
                   time <period>
                   flow "filter-expression"

       -w filename
           Rastream supports an extended -w option that allows for output record contents  to  be
           inserted  into  the  output  filename.   Specified  using  '$'  (dollar) notation, any
           printable field can be  used.   Care  should  be  taken  to  honor  any  shell  escape
           requirements when specifying on the command line.  See ra(1) for the list of printable
           fields.

           Another extended feature, when using time mode, rastream  will  process  the  supplied
           filename  using  strftime(3),  so  that time fields can be inserted into the resulting
           output filename.

INVOCATION

       This invocation reads argus(8) data from inputfile and splits  the  argus(8)  data  stream
       based  on output file size of no greater than 1 Megabyte.  The resulting output files have
       a prefix of argus.  and suffix  that  starts  with  'aa'.   The  single  trailing  '.'  is
       significant.

          rastream -r inputfile -M size 1m -w argus.

       This  invocation  splits inputfile based on hard 10 minute time boundaries.  The resulting
       output files are created with a prefix of  /archive/%Y/%m/%d/argus.   and  the  suffix  is
       %H.%M.%S.  The values will be supplied based on the time in the record being written out.

          rastream -r * -M time 10m -w "/archive/%Y/%m/%d/argus.%H.%M.%S"

       This  invocation  splits  inputfile  based  on the argus source identifier.  The resulting
       output files are created with a  prefix  of  /archive/Source  Identifier/argus.   and  the
       default  suffix  starting with  "aa".  The source identifier will be supplied based on the
       contents of the record being exported.

          rastream -r * -M time 10m -w "/archive/$srcid/argus."

       This invocation splits inputfile based on a flow event marker.  The resulting output files
       are  created  with  a  prefix  of  'outfile.'  and the default suffix starting with  "aa".
       Whenever a ping to a specific host is seen in the stream, a new output file is generated.

          rastream -r * -M flow "echo and host 1.2.3.4" -w outfile.

COPYRIGHT

       Copyright (c) 2000-2016 QoSient. All rights reserved.

SEE ALSO

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

AUTHORS

       Carter Bullard (carter@qosient.com).