--- projects/cms/source/server/build/etc/system.conf 2003/02/23 12:45:21 1.70 +++ projects/cms/source/server/build/etc/system.conf 2003/05/05 22:04:59 1.75 @@ -10,7 +10,7 @@ # setup, aswell as a some example configuration. # # $Author: tdb $ -# $Id: system.conf,v 1.70 2003/02/23 12:45:21 tdb Exp $ +# $Id: system.conf,v 1.75 2003/05/05 22:04:59 tdb Exp $ # # http://www.i-scream.org.uk/ # @@ -53,13 +53,7 @@ config.workstations=workstations.conf # Any hosts not specified by now have the default # config as given in this file. -# Another component of the system is the mySQL -# database part of the server call the DBInterface. -# This has it's own config so the passwords for the -# mySQL database can be kept seperate. -#config.mySQL=mySQL.conf - ############################################################ #### Misc system-wide configuration ############################################################ @@ -73,7 +67,7 @@ ConfigurationProxy.updateTime=60 # The internal Queue's can be monitored. This specifies # the interval, in seconds, at which their state should # be monitored. -Queue.MonitorInterval=15 +Queue.MonitorInterval=300 # The maximum size a Queue can be before items are # dropped when new ones arrive. Queue.SizeLimit=1000 @@ -114,10 +108,9 @@ FilterManager.ACL=DEFAULT:ALLOW #### Filter configuration ############################################################ -# A Filter accepts data from hosts on both a TCP port -# and a UDP port. They are specified here. +# A Filter accepts data from hosts on a UDP port. It is +# specified here. Filter.UDPListenPort=4589 -Filter.TCPListenPort=4589 # Filters contain plugins for checking the data passing # through them. This plugins do the job of "filtering". @@ -125,34 +118,27 @@ Filter.TCPListenPort=4589 # contained in. Filter.PluginsPackage=uk.org.iscream.cms.server.filter.plugins # And the names of the plugins to be loaded. -Filter.Plugins=TypeChecker;EnforceEssentialData;SourceChecker;KeyChecker +Filter.Plugins=TypeChecker;EnforceEssentialData;SourceChecker -# The special filter known as the "Root Filter" needs -# a name within the system. -RootFilter.name=root - # Every Filter, except the root, needs a parent to # send their data to. This is usually the root filter, # although in more complex setups it might be another # filter - giving a tree structure. Filter.parentFilter=root -# A Filter can accept data through UDP, TCP, or from +# A Filter can accept data through UDP, or from # an upstream Filter (CORBA). These methods can be # individually turned of on a filter. The default # is to have them all on. # (comment or set to 0 to disable) -Filter.ActivateTCPReader=1 Filter.ActivateUDPReader=1 Filter.ActivateCORBAReader=1 # We can also specify Access Control Lists for the -# TCP and UDP inputs of the Filters. One might want -# something restrictive like this: +# UDP input of the Filters. One might want something +# restrictive like this: # -# Filter.TCPACL=DEFAULT:DENY;*.example.com:ALLOW # Filter.UDPACL=DEFAULT:DENY;*.example.com:ALLOW -Filter.TCPACL=DEFAULT:ALLOW Filter.UDPACL=DEFAULT:ALLOW # A Filter plugin called the SourceChecker verifies @@ -163,25 +149,14 @@ Filter.UDPACL=DEFAULT:ALLOW # Filter.SourceCheckerPluginACL=DEFAULT:DENY;*.example.com:ALLOW Filter.SourceCheckerPluginACL=DEFAULT:ALLOW -# Enforce that hosts use the key based authentication. -# (comment or set to 0 to disable) -Filter.EnforceHostAuth=1 -# Length of keys to use in authentication. -Filter.KeyLength=15 - - ############################################################ -#### Root filter interfaces configuration +#### Root filter configuration ############################################################ -# The Root FIlter can send data to various upstream -# data processors. There are two of these at present -# in the server - the DBInterface and the ClientInterface. -# Their component names are given here as defined below. -# (the DBInterface is switched off - commented - by default) -#RootFilter.dbInterfaceName=database -RootFilter.realtimeInterfaceName=realtimeclients +# The special filter known as the "Root Filter" needs +# a name within the system. +RootFilter.name=root ############################################################ @@ -191,10 +166,12 @@ RootFilter.realtimeInterfaceName=realtimeclients # The client interface listens for connections from clients # on a TCP port. It is specified here. ClientInterface.listenPort=4510 -# The component name for the Client Interface. This should -# match the name specified to the Root Filter above. -ClientInterface.name=realtimeclients +# The client interface needs to connect to another one to +# receive data. There is a special client interface in the +# root filter which is the top of the tree. +ClientInterface.parent=root + # The Client Interface has two channels, control and data. # Each of these can have an ACL for allowing connections. # As per previous examples in this configuration file they @@ -205,12 +182,11 @@ ClientInterface.TCPDataChannelACL=DEFAULT:ALLOW ############################################################ -#### Database interface configuration +#### LocalClient Configuration ############################################################ -# The name for the Database Interface. This should match -# the name given to the Root Filter. -DBInterface.name=database +# The parent for the Local Client +Client.parent=clientinterface1 ############################################################ @@ -221,11 +197,15 @@ DBInterface.name=database # for all hosts to be 'filter1'. This can be a list. Host.filter=filter1; -# Hosts send data every UDPUpdateTime, in seconds, and then -# perform a heartbeat every TCPUpdateTime, in seconds. -Host.UDPUpdateTime=10 -Host.TCPUpdateTime=60 +# Hosts send data every UDPUpdateTime, in seconds. +Host.UDPUpdateTime=60 +# How long a hosts config is valid for (a TTL effectively) +# after this time, in seconds, has passed a host should +# consider it's configuration invalid and check for a new +# configuration as soon as it can. +Host.ConfigTTL=3600 + # We can run service checks on a host. The java package # which contains them is specified here. Host.serviceChecksPackage=uk.org.iscream.cms.server.filter.plugins @@ -240,7 +220,8 @@ Host.serviceChecksPackage=uk.org.iscream.cms.server.fi Monitor.PluginsPackage=uk.org.iscream.cms.server.client.monitors # And which ones should be loaded. Monitor.Plugins=CPU;Load;Process;Disk;Memory;Swap;Services;\ - Heartbeat;Queue;UserCount;WebFeeder; + Heartbeat;Queue;UserCount;WebFeeder;DiskIO;\ + NetIO;Paging; # Alerts timeout after a given time in seconds and go up # to the next level. These can be overridden for monitors @@ -266,6 +247,10 @@ Monitor.CPU.threshold.UPPER=95 Monitor.Load.threshold.LOWER=10.0 Monitor.Load.threshold.UPPER=20.0 +# Paging monitor threshold values +Monitor.Paging.threshold.LOWER=1000 +Monitor.Paging.threshold.UPPER=5000 + # Process Count threshold values Monitor.Process.threshold.LOWER=500 Monitor.Process.threshold.UPPER=1000 @@ -288,10 +273,25 @@ Monitor.UserCount.threshold.UPPER=200 # Disk monitor threshold values Monitor.Disk.threshold.LOWER=90 Monitor.Disk.threshold.UPPER=95 +Monitor.DiskInode.threshold.LOWER=90 +Monitor.DiskInode.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 +Monitor.DiskInode.thresholdMeasure=PERCENTAGE + +# DiskIO monitor threshold values (in bytes) +Monitor.DiskIO.rbytes.threshold.LOWER=10000000 +Monitor.DiskIO.rbytes.threshold.UPPER=50000000 +Monitor.DiskIO.wbytes.threshold.LOWER=10000000 +Monitor.DiskIO.wbytes.threshold.UPPER=50000000 + +# NetIO monitor threshold values (in bytes) +Monitor.NetIO.rxbytes.threshold.LOWER=10000000 +Monitor.NetIO.rxbytes.threshold.UPPER=50000000 +Monitor.NetIO.txbytes.threshold.LOWER=10000000 +Monitor.NetIO.txbytes.threshold.UPPER=50000000 # Queue monitor threshold values Monitor.Queue.threshold.LOWER=50