Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RASTREAM(1)		    General Commands Manual		   RASTREAM(1)

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

SYNOPSIS
       rastream	 [[-M splitmode] [splitmode options]] [-f file processing pro-
       gram -B secs] [raoptions] [-- filter-expression]

DESCRIPTION
       Rastream	reads argus data from an argus-data source, and	splits the re-
       sulting 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 stan-
       dard out, as needed.  The behavior is similar to	the unix split.1  com-
       mand.

       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 de-
       fault prefix.  The suffix that is used is determined by the mode	of op-
       eration.	 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  op-
       tion.

       When standard out is specified, using -w	-, rastream will output	a sin-
       gle  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 dis-
       tribute the statistics between the two records.	Care is	taken to avoid
       records with zero packet	and byte counts, that could result from	round-
       off 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.  ras-
       tream(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  encoun-
	   tered.

       -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 aggregat-
	   ing and correcting flow records, labeling records for semantic  en-
	   hancement,  indexing	 the  files,  using programs like rasqltimein-
	   dex(), 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 exe-
	   cutable, 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	direc-
	   tory.

       -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	speci-
	   fying 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 ar-
       gus(8) data stream based	on output file	size  of  no  greater  than  1
       Megabyte.  The resulting	output files have a prefix of argus.  and suf-
       fix 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	bound-
       aries.  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 re-
       sulting	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).

rastream 3.0.8			12 August 2003			   RASTREAM(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rastream&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help