#
#  Copyright (c) 2000-2002 QoSient, LLC
#  All rights reserved.
# 
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2, or (at your option)
#  any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
# 
# 
# Example  argus.conf
#
# Argus will open this argus.conf if its installed as /etc/argus.conf.
# It will also search for this file as argus.conf in directories
# specified in $ARGUSPATH, or $ARGUSHOME, $ARGUSHOME/lib,
# or $HOME, $HOME/lib, and parse it to set common configuration
# options.  All values in this file can be overriden by command
# line options, or other files of this format that can be read in
# using the -F option.
#
#
# Variable Syntax
# 
# Variable assignments must be of the form:
#
#   VARIABLE=
#
# with no white space between the VARIABLE and the '=' sign.
# Quotes are optional for string arguements, but if you want
# to embed comments, then quotes are required.
#
#
# Variable Explanations
#
# Argus is capable of running as a daemon, doing all the right things
# that daemons do.  When this configuration is used for the system
# daemon process, say for /etc/argus.conf, this variable should be
# set to "yes".
#
# The default value is to not run as a daemon.
#
# This example is to support the ./support/Startup/argus script
# which requires that this variable be set to "yes".
#
# Commandline equivalent   -d
#

ARGUS_DAEMON=yes

  
# There can be any number of Argus Monitors running on a single
# system.  While this is a blessing for some, this does cause
# some confusion in traditonal system administration tasks, such
# as pid file creation and failure recover methods.  If you plan
# on having a more than one argus daemon running on your system,
# say, monitoring different interfaces, then set this variable to
# the number of daemons you expect to support.
# 
# Commandline equivalent   -I
#
  
ARGUS_MAX_INSTANCES=1
 

# When Argus is configured to run as a daemon, with the -d
# option, Argus can store its pid in a file, to aid in
# managing the running daemon.  Creating a system  pid file
# requires priviledges that may not be appropriate
# for all cases.  To assist in managing pid file creation
# and support, argus 
#
# When configured to generate a pid file, if Argus cannot
# create the pid file, it will fail to run.  This variable
# is available to override the default, in case this gets
# in your way.
#
# The default value is to generate a pid in /var/run if it
# exists, and if not in $ARGUSHOME.
#
# Commandline equivalent   -c
 
ARGUS_SET_PID=yes


# You can specify an alternate pid file than the default.
# The default strategy is to generate a pid in /var/run if it
# exists, and if not in $ARGUSHOME,  using the structure,
# program_name.pid.  If the ARGUS_MAX_INTERFACES is > 1, then
# the default pid filename takes on the structure,
# program_name.dev.instance.pid.  By setting this variable,
# ARGUS_SET_PID=yes and ARGUS_MAX_INSTANCES=1 are implied.
#
# Commandline equivalent   -n [pid_file]
 
ARGUS_PID_FILENAME=/var/run/argus.pid
 

# Argus Monitor Data is uniquely identifiable based on the source
# identifier that is included in each output record.  This is to
# allow you to work with Argus Data from multiple monitors at the
# same time.  The ID is 32 bits long, and so legitimate values are
# 0 - 4294967296 but argus also supports IP addresses as values.
# The configuration allows for you to use host names, however, do
# have some understanding how `hostname` will be resolved by the
# nameserver before commiting to this strategy completely.
#
# Commandline equivalent   -e
#
                                          
ARGUS_MONITOR_ID=`hostname`
                                          

# Argus monitors can provide a real-time remote access port
# for collecting Argus data.  This is a TCP based port service and
# the default port number is tcp/561, the "experimental monitor"
# service.  This feature is disabled by default, and can be forced
# off by setting it to zero (0).
#
# When you do want to enable this service, 561 is a good choice,
# as all ra* clients are configured to try this port by default.
#
# Commandline equivalent   -P
#

#ARGUS_ACCESS_PORT=561

# When remote access is enabled (see above), you can specify that Argus 
# should bind only to a specific IP address. This is useful, for example, 
# in restricting access to the local host, or binding to a private 
# interface while capturing from another. The default is to bind to any 
# IP address.
# 
# Commandline equivalent  -B
# 

#ARGUS_BIND_IP="127.0.0.1"


# By default, Argus will open the first appropriate interface on a
# system that it encounters.  For systems that have only one network
# interface, this is a reasonable thing to do.  But, when there are
# more than one suitable interface, you should specify which
# interface(s) Argus should read data from.
#
# Argus can read packets from multiple interfaces at the same time,
# although this is limited to 2 interfaces at this time.  Specify
# this in this file with multiple ARGUS_INTERFACE directives.
#
# Commandline equivalent   -i
#

#ARGUS_INTERFACE=


#
# Argus can write its output to one or a number of files,
# default limit is 5 concurrent files, each with their own
# independant filters.
#
# The format is:
#      ARGUS_OUTPUT_FILE=/full/path/file/name
#      ARGUS_OUTPUT_FILE=/full/path/file/name "filter"
#
# Most sites will have argus write to a file, for reliablity 
# and performance.  The example file name is used here as
# supporting programs, such as ./support/Archive/argusarchive
# are configured to use this file.
#
# Commandline equivalent   -w
#

#ARGUS_OUTPUT_FILE=/var/log/argus/argus.out


# By default, Argus will put its interface in promiscuous mode
# in order to monitor all the traffic that can be collected.
# This can put an undo load on systems. 

# If the intent is to monitor only the network activity of
# the specific system, say to measure the performance of
# an HTTP service or DNS service, you'll want to turn 
# promiscuous mode off.
#
# The default value is go into prmiscuous mode.
#
# Commandline equivalent   -p
#

ARGUS_GO_PROMISCUOUS=yes


# Argus will periodically report on a flow's activity every
# ARGUS_FLOW_STATUS_INTERVAL seconds, as long as there is
# new activity on the flow.  This is so that you can get a
# view into the activity of very long lived flows.  The default
# is 60 seconds, but this number may be too low or too high
# depending on your uses.
#
# The default value is 60 seconds, but argus does support
# a minimum value of 1.  This is very useful for doing
# measurements in a controlled experimental environment
# where the number of flows is < 1000.
#
# Commandline equivalent   -S
#

ARGUS_FLOW_STATUS_INTERVAL=60


# Argus will periodically report on a its own health, providing
# interface status, total packet and bytes counts, packet drop
# rates, and flow oriented statistics.
#
# These records can be used as "keep alives" for periods when
# there is no network traffic to be monitored.
#
# The default value is 300 seconds, but a value of 60 seconds is
# very common.
#
# Commandline equivalent   -M
#

ARGUS_MAR_STATUS_INTERVAL=300


# If compiled to support this option, Argus is capable of
# generating a lot of debug information.
#
# The default value is zero (0).
#
# Commandline equivalent   -D
#
#ARGUS_DEBUG_LEVEL=0


# Argus can be configured to report on flows in a manner than
# provides the best information for calculating application
# reponse times and network round trip times.
#
# The default value is to not generate this data.
#
# Commandline equivalent   -R
#
 
ARGUS_GENERATE_RESPONSE_TIME_DATA=no


# Argus can be configured to generate packet jitter information
# on a per flow basis.  The default value is to not generate
# this data.
#
# Commandline equivalent   -J
#
 
ARGUS_GENERATE_JITTER_DATA=no 


# Argus can be configured to not provide MAC addresses in
# it audit data.  This is available if MAC address tracking
# and audit is not a requirement.
#
# The default value is to not generate this data.
#
# Commandline equivalent   -m
#
 
ARGUS_GENERATE_MAC_DATA=no


# Argus can be configured to capture a number of user data
# bytes from the packet stream.
#
# The default value is to not generate this data.
#
# Commandline equivalent   -U
#
 
ARGUS_CAPTURE_DATA_LEN=0


# Argus uses the packet filter capabilities of libpcap.  If
# there is a need to not use the libpcap filter optimizer,
# you can turn it off here.  The default is to leave it on.
#
# Commandline equivalent   -O
#

ARGUS_FILTER_OPTIMIZER=yes


# You can provide a filter expression here, if you like.
# It should be limited to 2K in length.  The default is to
# not filter.
#
# No Commandline equivalent
#

ARGUS_FILTER=""


# Argus allows you to capture packets in tcpdump() format
# if the source of the packets is a tcpdump() formatted
# file or live packet source.
#
# Specify the path to the packet capture file here.
#

#ARGUS_PACKET_CAPTURE_FILE="/var/log/argus/packet.out"


