# Sample Iss_config file
# ======================
#
# The following keywords and values control the overall behavior of ISS.
# They affect all pools. MONITOR_TRACE turns on trace level output on the
# monitor machine if present. All output on the monitor machine is produced
# via stdout. AGENT_TRACE turns on trace level output on all servers that are
# in custom pools, and thus run an agent. If AGENT_TRACE is specified then
# AGENT_LOG must be present and provide the name of a log file on the agent
# machines. There is an optional second parameter to AGENT_LOG which limits
# the size to which the log file can grow. When the log file reaches that
# size it is moved to <filename>.old, and a new log file is created. ISS_PORT
# specifies the port number on which the servers in custom pools (which will
# run agents) have issagent configured.
# ISS_MODE defines the mode that ISS will operate, in this case the mode is
# UPDATE_NAMED.  ISS will therefore update the pool entries in the named.data
# file specified by NAMED_DATAFILE.
 
# MONITOR_TRACE
AGENT_TRACE
AGENT_LOG /tmp/issagent.log 10000
ISS_MODE UPDATE_NAMED
ISS_PORT 10001
 
 
# pool1 is a custom pool whose domain name is stored in /opt/IBMISS/named.data and
# /opt/IBMISS/named.rev. It has three servers, whose domain names are first..third.
# It measures the number of processes running on each of these servers once
# every 2*HEARTBEAT_INTERVAL seconds, and HEARTBEAT_INTERVAL is configured
# to be 30 secs during most of the day, but only 10 secs between 8am and 10am.
# Once every HEARTBEAT_INTERVAL seconds ISS checks that the server whose
# address is currently recommended is functional at its ICMP layer. The
# servers in the list provided are load capped at 75 (processes) and if all
# servers first..third reach that limit then the address of server fourth
# is used. If at any time there are no servers available, the name pool1
# will be removed from the DNS files and the pool alarm triggered, which in
# this case makes an entry into a file called /tmp/issalarm.log
 
NAME                   pool1.sp1.site.corp.com
NAMED_DATAFILE         /opt/IBMISS/named.data
NAMED_REVERSEFILE      /opt/IBMISS/named.rev
METRIC                 CUSTOM ps -ef | wc -l
POLICY                 MIN
SERVERS                first second third
HEARTBEAT_INTERVAL     0(30) 8(10) 10(30)
HEARTBEATS_PER_UPDATE  2
LIMIT                  75 fourth
POOL_ALARM echo "pool1 ran out of servers at `date`" >> /tmp/issalarm.log
 
 
# pool2 is a roundrobin pool whose domain name is stored in /opt/IBMISS/named.data
# and /opt/IBMISS/named.rev. It has six servers, whose domain names are first..sixth.
# It cycles the address associated with the domain name "pool2" once per
# minute, and every 20 seconds checks that the server whose address is
# currently recommended is functional at its ICMP layer. If at any time there
# are no servers available, the name pool2 will be removed from the DNS files
# and the pool alarm triggered, which in this case makes an entry into a file
# called /tmp/issalarm.log

NAME                    pool2.sp1.site.corp.com
NAMED_DATAFILE          /opt/IBMISS/named.data
NAMED_REVERSEFILE       /opt/IBMISS/named.rev
METRIC                  ROUNDROBIN
SERVERS                 first second third fourth fifth sixth
HEARTBEAT_INTERVAL      20
HEARTBEATS_PER_UPDATE   3
POOL_ALARM echo "pool2 ran out of servers at `date`" >> /tmp/issalarm.log
 
 
# pool3 is a LoadLeveler pool whose domain name is stored in
# /opt/IBMISS/named.data and /opt/IBMISS/named.rev. It specifies a loadleveler class
# Iss_Class, which should be configured on all servers that the pool may
# include. It also specifies requirements and preferences as configured
# into LoadLeveler to allow the mapping of pool3 onto servers to be
# controlled. It ascertains the best server to use (by asking LoadLeveler) once
# every minute, and every 30 seconds checks that the server whose address
# is currently recommended is functional at its ICMP layer. If at any time
# there are no servers available, the name pool3 will be removed from the
# DNS files and the pool alarm triggered, which in this case makes an
# entry into a file called /tmp/issalarm.log
 
NAME pool3.sp1.site.corp.com
NAMED_DATAFILE          /opt/IBMISS/named.data
NAMED_REVERSEFILE       /opt/IBMISS/named.rev
METRIC LOADLEVELER
CLASS Iss_Class
REQUIREMENTS (Arch == "SPARC")
PREFERENCES (Feature == "data_server"}
HEARTBEAT_INTERVAL 30
HEARTBEATS_PER_UPDATE 2
POOL_ALARM echo "pool3 ran out of servers at`date`" >> /tmp/issalarm.log
 
