SURVIVOR: Scheduler
About ss
usage
    ss [-DksSV] [-d <debuglevel>] [-i <instance>] [-I <instcf>]
       [-L logmethod] [-m <moddir>] [-p <pidfile>] [-t <cthreads>]
       [-T <athreads>]
 
where
  • -D: Specifies to not fork into the background.
  • -k: Specifies to automatically restart on unexpected exit.
  • -s: Generates timestamps for each line of debugging output.
  • -S: Disable smart scheduling.
  • -V: Outputs the package version information and exits.
  • debuglevel: Output debugging at the specified level (if enabled, see include/debug.H for level definitions).
  • instance: The instance to use
  • instcf: The instance configuration file (default: /etc/survivor/instance.cf).
  • logmethod: The method for logging debugging and warning information. std is the default, and uses stderr. syslog logs to the syslog user.debug facility. syslog should be used with care, as some platforms may not perform well under high levels of concurrent logging. none disables all debugging and warning information. Specifying this switch before the -d switch may prevent initial debugging logs from being written to stderr.
  • moddir: The location where modules may be found
  • pidfile: The location where the pid of the scheduler is written
  • cthreads: The number of check threads (default: 15)
  • athreads: The number of alert threads (default: 5)

The Survivor Scheduler is a multi-threaded process that schedules and executes Checks and Alerts. All state is maintained on the file system, not in memory, to permit other processes to easily access it and to prevent data loss if the scheduler unexpectedly exits. The scheduler is designed to be started at system boot time.

The scheduler runs one Instance. Under ordinary circumstances, this should be all that is required. However, if multiple Instances are required, multiple schedulers can be run on the same host, provided they are configured correctly.

The Check scheduler runs once per minute and determines which Checks on which hosts have not been run in accordance with the configuration files. Any Check to be run is queued until it can be processed by one of the Check worker threads. The Check worker threads execute the Checks and record the results in the state directory.

The Alert scheduler runs once per minute and determines which Checks have generated errors that have not been transmitted in accordance with the configuration files. Any Alert to be transmitted is queued until it can be processed by one of the Alert worker threads. The Alert worker threads execute the Alerts and record the results in the state directory. The Alert scheduler waits for a period of time before commencing operation in order to give the Check scheduler a chance to update the state.

State information is maintained for current hosts and services only, and is automatically pruned by the scheduler. History information is maintained for all hosts and services, even those removed from the configuration, and is never pruned by the scheduler. (History can be pruned by the Command Interface).

Sending the scheduler a SIGHUP will tell it to reread its configuration files at the next appropriate moment. Note that this appropriate moment requires the completion of all outstanding Checks (among other things).

SIGINT, SIGQUIT, or SIGTERM will tell the scheduler to exit.

Dependencies

  • None.

Installation

The scheduler is installed in $INSTDIR/sbin/ss. The modules it expects to run are installed under $INSTDIR/mod.

An Instance configuration must be created. It is recommended that the default location of /etc/survivor/instance.cf be used to prevent complications with other utilities, such as the Web Interface.

See the instructions for building and installing for details on how to set up the configuration, state, and history files required by the scheduler.


$Date: 2006/11/19 16:53:14 $
$Revision: 0.12 $
keywords