--- projects/cms/source/server/build/etc/system.conf 2001/02/12 01:50:40 1.10 +++ projects/cms/source/server/build/etc/system.conf 2002/03/20 12:56:37 1.63 @@ -6,44 +6,335 @@ # root of configuration # # $Author: tdb $ -# $Id: system.conf,v 1.10 2001/02/12 01:50:40 tdb Exp $ +# $Id: system.conf,v 1.63 2002/03/20 12:56:37 tdb Exp $ +# +############################################################ +#### Configuration Files & Groups +############################################################ -# FilterManager configuration +# for computing machines +group.computing=Host.129.12.4.*; +group.rocks=Host.agate.ukc.ac.uk;Host.arkose.ukc.ac.uk;Host.basalt.ukc.ac.uk;Host.chalk.ukc.ac.uk;\ + Host.chert.ukc.ac.uk;Host.granite.ukc.ac.uk;Host.jade.ukc.ac.uk;Host.jasper.ukc.ac.uk;\ + Host.magnetite.ukc.ac.uk;Host.obsidian.ukc.ac.uk;Host.pumice.ukc.ac.uk;\ + Host.pyrite.ukc.ac.uk;Host.slate.ukc.ac.uk;Host.topaz.ukc.ac.uk; +group.compsoc=Host.compsoc1.ukc.ac.uk +config.computing=computing.conf +config.rocks=rocks.conf +config.compsoc1=rocks.conf + +# for library machines +group.library=Host.129.12.58.*; +config.library=library.conf + +# for SSB machines +group.ssb=Host.stue*.ukc.ac.uk; +config.ssb=ssb.conf + +# mySQL configuration +config.mySQL=mySQL.conf + +############################################################ +#### Misc system-wide configuration +############################################################ + +# the time (in seconds) that checks should be made for +# changes in configuration +ConfigurationProxy.updateTime=60 + +# The time interval at which the Queue's should be monitored +Queue.MonitorInterval=15 +# The upper limit for a Queue +Queue.SizeLimit=1000 +# The removal algorithm +Queue.RemoveAlgorithm=FIRST + + +############################################################ +#### FilterManager configuration +############################################################ + # The default port to listen for new host connections FilterManager.listenPort=4567 +# Access control list +FilterManager.ACL=DEFAULT:DENY;*.ukc.ac.uk:ALLOW;129.12.*:ALLOW + + + +############################################################ +#### Filter configuration +############################################################ + # The default port for Filter's to listen on Filter.UDPListenPort=4589 Filter.TCPListenPort=4589 +# Plugin Information +Filter.PluginsPackage=uk.org.iscream.cms.server.filter.plugins +Filter.Plugins=TypeChecker;EnforceEssentialData + # The name for the root filter RootFilter.name=root + +# The default parent filter (should almost always be the same as Filter.rootFilter) +Filter.parentFilter=root + +# The input methods to activate +# (comment or set to 0 to disable) +Filter.ActivateTCPReader=1 +Filter.ActivateUDPReader=1 +Filter.ActivateCORBAReader=1 + +# Access control list for the TCP and UDP inputs +Filter.TCPACL=DEFAULT:DENY;*.ukc.ac.uk:ALLOW;129.12.*:ALLOW +Filter.UDPACL=DEFAULT:DENY;*.ukc.ac.uk:ALLOW;129.12.*:ALLOW + + + +############################################################ +#### Root filter interfaces configuration +############################################################ + # Comment either of these (or delete them) and # that interface won't be started RootFilter.realtimeInterfaceName=realtimeclients RootFilter.dbInterfaceName=database + + +############################################################ +#### Client interface configuration +############################################################ + # The port for the client interface to listen on ClientInterface.listenPort=4510 +# The name for the client interface +ClientInterface.name=realtimeclients -# The default parent filter (should almost always be the same as Filter.rootFilter) -Filter.parentFilter=root +# Access Control List for TCP Clients +ClientInterface.TCPControlChannelACL=DEFAULT:DENY;*.ukc.ac.uk:ALLOW;129.12.*:ALLOW +ClientInterface.TCPDataChannelACL=DEFAULT:DENY;*.ukc.ac.uk:ALLOW;129.12.*:ALLOW + + +############################################################ +#### Database interface configuration +############################################################ + +# The name for the Database interface +DBInterface.name=database + + + +############################################################ +#### Host Configuration +############################################################ + # The default filter for a new host -Host.filter=filter1 +Host.filter=computingFilter; # The default update times for a new host Host.UDPUpdateTime=10 Host.TCPUpdateTime=60 -# Plugin Information -Filter.PluginsPackage=uk.ac.ukc.iscream.filter.plugins -Filter.Plugins=TypeChecker;EnforceEssentialData - # The services checks to run on a host -Host.serviceChecksPackage=uk.ac.ukc.iscream.filter.plugins -Host.serviceChecks=HTTP +Host.serviceChecksPackage=uk.org.iscream.cms.server.filter.plugins -# mySQL Details -config.mySQL=mySQL.conf + + +############################################################ +#### Monitor Configuration +############################################################ + +## The monitors to run +Monitor.PluginsPackage=uk.org.iscream.cms.server.client.monitors +Monitor.Plugins=CPU;Load;Process;Disk;Memory;Swap;Services;\ + Heartbeat;Queue;UserCount;WebFeeder; + +## Default alert timeouts +# these can be override on a per-monitor basis +# timings of the alerts (in seconds) +Monitor.alertTimeout.NOTICE=60 +Monitor.alertTimeout.WARNING=900 +Monitor.alertTimeout.CAUTION=1800 +Monitor.alertTimeout.CRITICAL=3600 + +## Threshold values +# +# note: if the UPPER threshold is broken, +# the alertTimeout values are halved. +# This is to escalate the alert quicker. +# + +# CPU monitor threshold values +Monitor.CPU.threshold.LOWER=90 +Monitor.CPU.threshold.UPPER=99 + + +# Load monitor threshold values +Monitor.Load.threshold.LOWER=10.0 +Monitor.Load.threshold.UPPER=20.0 + + +# Process Count threshold values +Monitor.Process.threshold.LOWER=1000 +Monitor.Process.threshold.UPPER=1500 + + +# Memory monitor threshold values +Monitor.Memory.threshold.LOWER=80 +Monitor.Memory.threshold.UPPER=90 + + +# Swap monitor threshold values +Monitor.Swap.threshold.LOWER=80 +Monitor.Swap.threshold.UPPER=90 + + +# UserCount monitor threshold values +Monitor.UserCount.threshold.LOWER=100 +Monitor.UserCount.threshold.UPPER=200 + + +# Disk monitor threshold values +Monitor.Disk.threshold.LOWER=90 +Monitor.Disk.threshold.UPPER=95 +# Thresholds given are PERCENTAGE or VALUE +# where PERCENTAGE is a percentage of disk in use +# and VALUE is an absolute value of space free +Monitor.Disk.thresholdMeasure=PERCENTAGE + + +# Queue monitor threshold values +Monitor.Queue.threshold.LOWER=50 +Monitor.Queue.threshold.UPPER=80 +# Thresholds given are PERCENTAGE or VALUE +# where PERCENTAGE is a percentage of disk in use +# and VALUE is an absolute value of space free +Monitor.Queue.thresholdMeasure=PERCENTAGE + + +# Services monitor threshold values +# +# THE SERVICES MONITOR USES A HACK +# WHEREBY IT USES THE SERVICE STATUS +# AS THE THRESHOLD LEVEL. THIS SHOULD +# BE LOOKED AT! +# +# how many times we should be at the highest level before +# we go to a FINAL alert +Monitor.Services.reachFINALcount=5 + + +# Heartbeat threshold values +# these are values in seconds from when the heartbeat +# was *expected* to arrive (ie. last + hearbeat period) +Monitor.Heartbeat.threshold.LOWER=180 +Monitor.Heartbeat.threshold.UPPER=300 +# this is how often we will run a "check" of heartbeats +Monitor.Heartbeat.checkPeriod=50 +# how many times we should be at the highest level before +# we go to a FINAL alert +Monitor.Heartbeat.reachFINALcount=5 +# list of hosts we expect to have at startup +# this ensures we notice hosts that aren't running, not +# just those that have gone down recently. +Monitor.Heartbeat.initialHosts=raptor.ukc.ac.uk;myrtle.ukc.ac.uk;kestrel.ukc.ac.uk + + + +############################################################ +#### Alerter Configuration +############################################################ +# The following var's are understood by ALL alerters for messages +# +# %level% - the alert level (eg, WARNING) +# %threshold% - the threshold broken (eg, LOWER) +# %source% - the source of the alert (eg, raptor.ukc.ac.uk) +# %value% - the value reached (eg, 95) +# %thresholdValue% - the value of the threshold broken (eg, 90) +# %attributeName% - the attribute that has caused the alert (eg, CPU User) +# %timeTillNextAlert% - the time the next alert will be sent out +# %timeSinceFirstAlert% - the time elapsed since the first alert for this problem +# %timeOfFirstAlert% - the time the first alert was sent +# + +# alerters to run +Alerter.PluginsPackage=uk.org.iscream.cms.server.client.alerters +Alerter.Plugins=EMail;IRC;WebFeeder;Logging; + + +# EMail alerter configuration +Alerter.EMail.level = WARNING +Alerter.EMail.destList = dev@i-scream.org.uk +Alerter.EMail.sender = dev@i-scream.org.uk +Alerter.EMail.smtpServer = mercury.ukc.ac.uk +Alerter.EMail.subject = i-scream alert: %level% alert on %source% for %attributeName% +Alerter.EMail.message = The i-scream distributed central monitoring system has\nraised a %level% alert for the host %source%.\n\nThe value for %attributeName% of %value% has exceeded the\n%threshold% threshold value of %thresholdValue%.\n\nThis alert was originally raised at %timeOfFirstAlert%,\nwhich was %timeSinceFirstAlert% ago.\n\nThe next alert (should one occur) will be sent in %timeTillNextAlert%. + + +# IRC alerter configuration +Alerter.IRC.level = OK +Alerter.IRC.IRCServer = killigrew.ukc.ac.uk +Alerter.IRC.IRCPort = 6667 +Alerter.IRC.nickList = iscreamBot;_iscreamBot;i-screamBot +Alerter.IRC.user = i-scream +Alerter.IRC.comment = i-scream alerting bot (based on PircBot) +Alerter.IRC.finger = i-scream alerting bot (based on PircBot) +Alerter.IRC.channel = #i-scream +Alerter.IRC.message = %level%: %attributeName% on %source% has passed %threshold%(%thresholdValue%) threshold with %value% - time till next alert (should one occur), %timeTillNextAlert% +Alerter.IRC.reconnectDelay = 30 +Alerter.IRC.startupNotice = i-scream alerting bot activated +Alerter.IRC.stopCommand = stop alerts +Alerter.IRC.startCommand = start alerts +Alerter.IRC.lastAlertCommand = last alert +Alerter.IRC.joinCommand = join +Alerter.IRC.nickChangeCommand = nick +Alerter.IRC.statCommand = statistics +Alerter.IRC.uptimeCommand = uptime +Alerter.IRC.timeSinceLastAlertCommand = time since last alert +Alerter.IRC.versionCommand = version +Alerter.IRC.helpCommand = help +Alerter.IRC.rejectMessage = sorry, I don't understand your request + + +# Logging alerter configuration +Alerter.Logging.level = WARNING +Alerter.Logging.message = %level%: %attributeName% on %source% has passed %threshold%(%thresholdValue%) threshold with %value% + + + +############################################################ +#### WebFeeder Configuration +############################################################ + +# Define these (one or both_ to turn on the WebFeeder's, +# comment it to turn them off +WebFeeder.latestActive = true +WebFeeder.alertActive = true + +# Only pass on alerts past this level +Alerter.WebFeeder.level = OK + +# Check period in seconds (for cleaning stale/old alerts) +WebFeeder.checkPeriod = 120 + +# Delete alerts older than this, in seconds. +# Files are only check every WebFeeder.checkPeriod seconds. +WebFeeder.alertDeleteOlderThan = 300 + +# Root Path +WebFeeder.rootPath = /usr/local/proj/co600_10/webroot + +# Latest Data +WebFeeder.latestSubDir = latest +WebFeeder.latestFileName = latest_data + +# Alert Data +WebFeeder.alertSubDir = alert +WebFeeder.alertFileName = alert_data + + +############################################################