4.2.12. Innwatch configuration |
---|
The INN server, innd, does not contain any checks to see if there is enough free space on the disk or if the system load average is low enough to allow article reception. There are two reasons for this. The first reason is philosophical: it is a mistake to bury this kind of policy information inside a program. For example, you don't want to have to recompile the program just because you moved to a different filesystem. (Yes, this could be partially answered by moving the information to an external config file, but any compiled rules are still likely to be incomplete.) The second reason is pragmatic: there is no portable way to get standard measurements for the information needed. For example, C News provides three different routines to get the filesystem statistics (with conditional compilation) while the ``get load average'' file in IDA sendmail has over 700 lines. Rather than get tangled up in such a mess of #ifdef's, INN uses an external program (shell script) that invokes ctlinnd to stop and start the server as necessary. The program, innwatch, reads the control file innwatch.ctl. Innwatch is documented in doc/news.daily.8, while innwatch.ctl is documented in doc/innwatch.ctl.5. The parameters in this section control when the server should stop accepting articles, and when it should start again. You will have to examine site/innwatch.ctl and probably modify it, usually to check the amount of free space on the disks. For example, there is a line in the file that has this fragment in it: !!! df . | awk 'NR == 2 { print $4 }' ! ... This is looking at the fourth field of the second line to get the amount of freespace. You will have to change the ``2'' and ``4'' here, and on other lines, as appropriate for your system. (Changing the output of df seems to be one of the things vendors like to do most; it is not worth my time to have INN keep track of all of them.) The parameter INNWATCH_SLEEPTIME specifies how frequently innwatch should check the system -- the other parameters should be set with this in mind, eg: there needs to be enough free space on the filesystem to last the next INNWATCH_SLEEPTIME seconds. The INNWATCH_xxxLOAD parameters specify the load average at which different actions should be taken. They are integers, representing the load average multipled by 100. For example, if you want to throttle the server when your load reaches 7.5, set INNWATCH_HILOAD to ``750.'' The INNWATCH_xxxSPACE parameters specify the minimum amount of disk space needed for each of INN's three major filesystems. The numbers are in ``local units,'' equivalent to whatever your df uses (512-byte units, 1K blocks, etc). The INNWATCH_SPOOLNODES parameter specifies how many inodes must be available in your spool directory. |
[Source:"Installing InterNetNews 1.5.1"] [File-name:install.ms.1][Revision: 1.19 1996/11/10] [Copyright: 1991 Rich Salz, 1996 Internet Software Consortium] |