graph of bytes against protocols for network loopdetection?
Carter Bullard
carter at qosient.com
Thu Feb 28 12:09:51 EST 2008
Hey Mark,
This is cool!! When you're ready to scale up, there are newer
mechanisms
for creating the data repository and importing the data, using programs
like rastream() and if you wanted to get a little closer to near real-
time posting
of data, you could use rabins() with a few variations, out of the
argus-3.0 code set.
As an example, if you wanted to insert data every 5 minutes, it can be
as easy as:
rastream -S live.argus.stream -f yourMysqlImport.sh -M time 5m -B
15s \
-w /opt/ARGUS/OUTBOUND/%Y/%m/%d/argus.%Y.%m.%d.%H.%M.%S
This would generate an argus archive broken out by year/month/day
containing
files every 5 minutes, and 15 seconds after then end of each 5 minute
clock
boundary, your script would be run against the file, indexing the data
and then
compressing the file. It could remove the file if you're not
interested in keeping
the archive etc......
yourMysqlImport.sh would be simply (using ./support/Config/rastream.sh
to start):
------ begin yourMysqlImport.sh -----
#!/bin/sh
#
# Argus Client Software. Tools to read, analyze and manage Argus data.
# Copyright (C) 2000-2008 QoSient, LLC.
# All Rights Reserved
#
# Script called by rastream, to process files.
#
# Since this is being called from rastream(), it will have only a single
# parameter, filename,
#
# Carter Bullard <carter at qosient.com>
#
PATH="/usr/local/bin:$PATH"; export PATH
package="argus-clients"
version="3.0.0"
OPTIONS="$*"
FILES=
while test $# != 0
do
case "$1" in
-r) shift; FILES="$1"; break;;
esac
shift
done
mysqlimport -# -L --host=192.168.150.204 --user='argus' --
password='&&&&' --fields-terminated-by=',' --lines-terminated-by='\n' \
--low-priority --verbose --columns='srcid, sdate, stime, ldate,
ltime, dur, saddr, daddr, proto, sport, dport, bytes, sbytes, dbytes,
pkts, spkts, dpkts, dir' \
argus '$FILES'
gzip $FILES
exit 0
----- end yourMysqlImport.sh -----
Send mail to the list if/when you start, and we can all help.
Carter
On Feb 27, 2008, at 12:50 PM, Bartlett, Mark wrote:
> Hi Marten,
>
> I am working on an installation guide which will explain
> installation of the "Probe", "Loader", DB Server, and Web Server and
> installation scripts which will create users, install cron jobs,
> install the DB schema, etc.
>
> The Probe Machine 'moves' the /var/log/argus/argus.out file to the /
> opt/ARGUS/OUTBOUND directory.
>
> The Loader Machine 'pulls' the argus files from remote Probe
> Machines. Then the argus.out files are sent through the 'ra' tool
> to produce an ASCII comma delimited file.
>
> The ASCII file is imported into the DB using mysqlimport:
> mysqlimport -# -L --host=192.168.150.204 --user='argus' --
> password='&&&&' --fields-
> terminated-by=',' --lines-terminated-by='\n' --low-priority --
> verbose --columns='sr
> cid, sdate, stime, ldate, ltime, dur, saddr, daddr, proto, sport,
> dport, bytes, sbytes,
> dbytes, pkts, spkts, dpkts, dir' argus '/opt/ARGUS/OUTBOUND/
> argus.out'
>
> That's about it for file transfer and data insertion...
>
> We are currently running ARGUS in a limited capacity (within our
> Research Network, monitoring mostly Dark IP's and Test Networks).
> But are working on doing a larger deployment (BETA). So we should
> get a better idea of performance 'issues' in the near future.
>
> The DB schema I created contains a probe, location, and company
> tables so we can run queries against 'specific' probe locations
> (DMZ, INTERNAL, EXTERNAL, Dark Nets, etc) Part of the Web GUI
> contains a probe insert page, to add new probes, etc.. It's working
> pretty well for us at this point.
>
> If I get some 'spare time' I would like to try and create a
> partitioned DB Schema for the ARGUS data based on date to speed up
> query times and alleviate Database Storage issues (archiving,
> dropping data, etc)....
>
> I'll let you know when the installation guides are finished and the
> package has been posted for download.
>
> mark
>
> -----Original Message-----
> From: argus-info-bounces at lists.andrew.cmu.edu [mailto:argus-info-bounces at lists.andrew.cmu.edu
> ] On Behalf Of David Nolan
> Sent: Wednesday, February 27, 2008 12:32 PM
> To: argus-info at lists.andrew.cmu.edu
> Subject: Re: [ARGUS] graph of bytes against protocols for network
> loopdetection?
>
> Mark,
>
> I would certainly be interested in seeing what you've got. In fact I
> suspect that there will be enough interest in your setup that you
> might
> just want to put it up somewhere for download.
>
> How are you feeding your data into the database? And at what scale
> are you
> doing this?
>
> -David
>
> --On Wednesday, February 27, 2008 09:50:38 -0500 "Bartlett, Mark"
> <Mark.Bartlett at getronics.com> wrote:
>
>> Hi Marten,
>>
>> Our Argus data is being fed into a DB, and I have created an "argus
>> website" using basic html/php pages with JPGraph
>> (http://www.aditus.nu/jpgraph/)
>>
>> Attached is a sample of the Hourly Dashboard which shows 4 graphs -
>> 1.
>> Events by Hour, 2. Daily Breakdown of Protocols, 3. Source Bytes
>> vs.
>> Dest Bytes, 4. Source Pkts vs. Dest Pkts.
>>
>> If you are 'feeding' your data into a db and think this might be
>> something you would like to use I can send you our install package.
>>
>> Thanks.
>>
>> Bartola
>>
>>
>> -----Original Message-----
>> From: argus-info-bounces at lists.andrew.cmu.edu on behalf of Carter
>> Bullard
>> Sent: Wed 2/27/2008 9:13 AM
>> To: Marten Bauer
>> Cc: argus-info at lists.andrew.cmu.edu
>> Subject: Re: [ARGUS] graph of bytes against protocols for network
>> loopdetection?
>> Hey Marten,
>> ragraph() is primarily a time series graphing program.
>> The easiest is to use racluster() to get the data totals:
>>
>> racluster -m proto -r file -s proto bytes - ip or arp
>> Proto TotBytes
>> pim 624
>> ospf 36188
>> esp 18070651
>> gre 6637
>> ipv6 702
>> udp 5119990
>> tcp 744143899
>> igmp 662
>> icmp 203201
>> arp 4177
>>
>> And then use something easy, like excel() or gnuplot().
>> What kind of platform are you using?
>>
>> Carter
>>
>>
>> On Feb 27, 2008, at 1:52 AM, Marten Bauer wrote:
>>
>>> Hello,
>>>
>>> for detecting network loops I need a graph which
>>> prints the protocol on the x axes and the amount of
>>> bytes on the y axes.
>>>
>>> I tried to archive this with ragraph, but I never got
>>> what I want.
>>>
>>> Is it possible with ragraph or another ra* tool to
>>> generate such plot?
>>>
>>> Thx for helping
>>> Marten
>>>
>>
>>
>>
>
>
>
>
>
>
More information about the argus
mailing list