best way to process data from multiple hosts?

Ken A ka at pacific.net
Mon Dec 8 11:18:31 EST 2008


Carter Bullard wrote:
> Hey Ken,
> Try using these two programs, rasplit() and/or rastream().
> Both programs split an incoming argus stream, and you can
> set it up to split based on the argus data source id, which should
> give you your separation.
> 
> Focusing on rasplit(),  this is what I do on all my collection sinks.
> 
>    rasplit -S radii:561 -M time 5m -w 
> /path/to/archive/\$srcid/%Y/%m/%d/argus.%Y.%m.%d.%H.%M.%S
> 
> This will take in a generic stream, and split the data into
> an "argus source id" rooted, time based file structure, where
> each file represents the data in a given 5 minute time span.
> As time goes on, rasplit() creates new files, so you're archive
> grows, as needed.
> 
> Rasplit() will break records across time boundaries, so that
> the stats are preserved correctly when graphing, processing,
> analyzing, whatever.
> 
> Because rasplit() can connect to up to, what is it, 64 remote sources,
> and because they can all be argi, or radii, or a mix of the two, you don't
> have to worry about the collection tree structure so much.
> 
> So I recommend, at first, one radium() to connect to all your sources,
> and one rasplit() to connect to your radium().  Where the radium
> resides is not important, as long as you have resources.   But having
> radium() and rasplit() on the same machine has its advantages, in
> terms of reliability, performance, etc....  When you have
> dozens of programs reading the data from radium() at once, then
> having them local becomes more important.

Thanks for the info. I'll give radium a try.

fwiw, I was experimenting with using "rasplit -d -S $source" to connect 
directly to the source (without radium). I encountered a problem where 
rasplit doesn't die without 'kill -9'. After a 'kill -9', ragraph can no 
longer read the rasplit generated log file beyond the time when rasplit 
was killed. It looks like a partial 'UNK' record corrupts the file.

Thanks,
Ken


> 
> rastream() is just rasplit(), but it  can run scripts against the 
> archive files
> after some hold time period (-B option).  If you know that all the records
> for a given 5 minute time period have finally shown up, then you can
> process the argus data file, (i.e. aggregate it, generate alarms and
> alerts against it, compress it, index it, whatever), using the script
> provided on the command line.
> 
> Rastream() cannot be used very well with Netflow records, as they have
> a bad habit of not coming out of the router when you would like, so
> use rasplit() if you are also collecting Netflow records.
> 
> Carter
> 
> On Dec 7, 2008, at 10:07 PM, Ken Anderson wrote:
> 
>> Hello,
>> I'm new to argus. ragraph and racluster are very cool!
>>
>> Currently, I have argus running on 7 or 8 machines listening on port
>> 561. I would like to monitor these on a single machine and keep each
>> server's argus logs separate.
>>
>> Is radium capable of opening 1 log for each RADIUM_ARGUS_SERVER? That
>> would be nice, I think. I could run rasplit -d for each stream, or run
>> multiple instances of radium, I suppose.
>> Is there a better way I've overlooked?
>>
>> Thanks for any ideas,
>> Ken
>>
>>
>> -- 
>> Ken Anderson
>> Pacific.Net
>>
>>
> 


-- 
Ken Anderson
http://www.pacific.net/
(707) 468-1005



More information about the argus mailing list