argus documentation
frequently asked questions




















Argus How To File

How do I join the Argus mailing list?
How do I report bugs?
How do I compile Argus?
How do I install Argus?
How do I configure Argus?
How do I run Argus?
How do you run argus on your systems?
How do I audit my web servers?
How do I audit the traffic between my network and my ISP?
Who are the 10 top talkers on my network?
How do I generate near real-time link byte and packet counts every 10 seconds from a remote argus server?

printer friendly version here

1. How do I join the Argus mailing list?

Send "subscribe argus" in the body of a piece of mail to majordomo@lists.andrew.cmu.edu

top

2. How do I report bugs?

Use the tool ./bin/argusbug to send your bug report to the argus mailing list. Argusbug will present you with a bug reporting form, that includes some system information. If you are unhappy providing the information supplied by Argusbug, you are free to delete it.

Send any comments/fixes/opinions/whatever to the mailing list. Someone will send a reply.

top

3. How do I compile Argus?

Building specifics for argus are described in the ./INSTALL file. The quick method is:

% ./configure
% make

top

4. How do I install Argus?

Detail installation instructions are in the ./INSTALL file. But the fast an easy way is to:

make install

top

5. How do I configure Argus?

For most uses, Argus will require only a few simple configuration variable set to do work. For the custom minded, Argus supports a large number of options.

Argus is generally configured using the .argusrc file that is normally found in $ARGUSHOME. The variables that are set by this file can be overriden by the use of command line switches or an alternative configuration file that is specified using the "-F configfile" option.

See ./example/.argusrc for a description of options and their default settings. This sample file sets most of the common options.

top

6. How do I run Argus?

Argus is run either as a persistant daemon, reading live packets from a network interface, or as a program, reading packets from a packet capture file. The default, i.e. when it is run without any configuration, is to run as a daemon.

The only real question to answer is where do you want argus to send its output. The basic options are to write to a file, or to offer remote access via a socket, or both.

Most installations will run configure argus to write its output to a file. To do this, run argus as:

# argus -w outputfile

This will cause Argus to run as a daemon, reading packets from the first available network interface, and writing its output to an outputfile.

If you intend to remotely attach to this argus, you'll need to tell argus what port to put a listen down on. The default port for clients is port 561. We recommend using this port number.

# argus -P 561 -w outputfile

In order to configure argus to read packets from a packet capture file, use the "-r" option.

% argus -r ./packetfile

Argus has a large number of options, which can be set through an .argusrc file, the use of command line options, or through a separate configuration file that is specifed at run time. These options are designed to specify things like, what type of information Argus should capture, how often it should generate output records, whether it should put the network interface in promiscuous mode when run, should it create a pid file, etc... The complete list is described int the argus.8 man page.

top

7. How do you run argus on your systems?

argus -e `hostname` -P 561 -U128 -mRS 30 -w $ARGUSHOME/argus.out

top

8. How do I audit my web servers?

Argus can be deployed either on the network using a tapping strategy that captures all the packets destined to and from the target web server, or Argus can be deployed on the web server itself. In any case, if the desire is to measure web performance itself, Argus should be deployed as close to the server as physically possible.

Deploying Argus on the server itself is my preferred strategy as it solves some basic problems with monitoring multi-interface load balanced servers. Some sites will be concerned with the cycles used by Argus and stability issues, but for the majority of servers in use in the Internet today, this will be the right strategy, as it is the least expensive.

  +-----------+       +-----------+
  |       +-+ |       |       +-+ |
  |       | | |       |       | | +------
  |       | | +-------+       | | |
  |       | | |       |       | | +------
  |       +-+ |       |       +-+ |
  +-----------+       +-----------+
  Web Back End        Web Front End
  with resident       with resident
      Argus               Argus

                   Figure 1.

When off server deployment is indicated, Argus can be deployed any where in the network where there is access to packets of interest. Usually using a switch or hub that is inline with the target packet data is the way to go.

+-----------+     Switch
|           |      Hub
|           |     +---+
|           +-----+   +-------
|           |     +-+-+
|           |       | 
+-----------+       |
  Web Server    +---+---+
                | Argus |
                +-------+

                 Figure 2.

There are situations where the effects of load balancers will want to be monitored. In this case, multiple Argi can be deployed to monitor pre and post load balanced flow data.

              Switch                    Switch
+-------+      Hub       +-------+       Hub
|       |     +---+      |       |      +---+
|       +-----+   +------+       +------+   +------
|       |     +-+-+      |       |      +-+-+
+-------+       |        +-------+        |
Web Server      |      Load Balancer      |
            +---+---+                 +---+---+
            | Argus |                 | Argus |
            +-------+                 +-------+
                                            Figure 3.

top

9. How do I audit the traffic between my corporate network and my ISP?

The trick here is to deploy Argus such that it can see all the packets between the corp network and the Internet. In many networks there is a network ethernet DMZ. This is the ideal location to place Argus, a common link that is physically accessible that can have complete cover over all the packets.

This is especially true when there are multiple ISP links being used by the corporation.

A Switch or a Hub can be used to tap into the DMZ so that the Argus host can see the full duplex channel between the two routers, as shown below.

                         Switch    +-----------+
            +------+      Hub      |           +------- ISP
            |      |    +-----+    |           |
corp  ------+      +----+     +----+   Router  +------- ISP
            |      |    +--+--+    |           |
            +------+       |       |           +------- ISP
             router        |       +-----------+
                       +---+---+
                       | Argus |
                       +-------+

                        Figure 4.

If you can't insert a switch or a hub into the link as shown in Figure 4, then you've got a bit of a puzzle.

In some cases you can configure your router to "port steer" or port copy the packets that you are interested in to a common monitoring port. When a switch or hub cannot be installed on the DMZ link, this would be the next likely strategy.

             +-----------+ B
             |           +------- ISP
           A |   Router  | C
Corp    -----+   Switch  +------- ISP
             |           | D
             |           +------- ISP
             +-----+-----+
                   | E
               +---+---+
               | Argus |
               +-------+

If the router/switch can be configured to copy both incoming and outgoing packets from Interface A to Interface E, then the problem is solved, as this will get all the packets (assuming you don't support routing between interfaces B, C or D).

Interface E should have the bandwidth needed to handle the full load of the traffic. In our example above, If interface A is a 10 Mbps ethernet link, interface E should be a 100Mpbs interface, so that it can handle the 20 Mbps of total load interface A can support.

If the device does not support full duplex port copy, then a strategy that copies all the incoming interfaces of the router/switch to a common monitor interface will also get all the packets.

If none of the above is possible, then ~here are WAN probe taps available that will support packet capture from ISP links. These are pretty expensive, sometimes more than the entire cost of the Argus probe itself, but they are available.

top

10. How do I determine the top talkers on my network?

To get top talker type data, use ramon, with the TopN option.

ramon -M TopN -r * - filter

If you want top pairs of talkers, use ramon with the Matrix option.

ramon -M Matrix -r * - filter

top

11. How do I generate near real-time link
byte and packet counts every 10 seconds from a remote argus server?

ragator() is the tool of choice here. But getting a 10 sec interval statistic will require that you to make some changes to the runtime configuration of argus. The ragator configuration file needed to do this described below.

The problem is that Argus outputs microflow audit records based on state and a time interval. The -S option specifies what that time interval will be. The default is setup so that the maximum time duration of any argus audit record is 60 seconds. With this type of granular data, deriving a usable 10 second status counter is not possible.

The best you could do would be a 180 second status counter (3 * (minimum period)). In order to get 10 second link stats, you will need to lower the status reporting timer run Argus to 2-3 seconds, using the -S option.

Depending on your traffic loads, this may or may not be a lot of records.

If you want to go for 10 second stats, run

argus -S 2 [raoptions]

And then use ragator to collect the microflow data from the above argus, using the flowmodel.conf file that is described below.

ragator -S remoteargus -f flowmodel.conf

Where this is the contents of flowmodel.conf

If you want to do the same thing but count based on IP protocol, put a "yes" in the proto field of Model 100. Anyway, read the ./examples/fmodel.conf file for suggestions on configuring ragator().

top

   
 

faq  +  how-to  +  manuals  +  credits  +  license  +  copyright

changes  +  cvs +  wish list  +  registration  +  mailing lists



© Copyright 2000 - 2006 QoSient, LLC. All rights reserved.