SURVIVOR: About Check Modules | |||||||||
Check Modules evaluate the status of services that run on hosts.
Check Modules may be two types of executables:
Check Modules are provided an XML document containing a SurvivorCheckData element, which may include arguments as configured in check.cf. Modules generate an XML document containing zero or more SurvivorCheckResult elements.
All Check Modules must conform to the Check Module Specification, otherwise they may not interact correctly with the scheduler. It is important for check modules to be properly parallelized, to prevent one non-responsive host from interfering with the checking of other hosts. There are two methods for easy parallelization:
Check Modules may be run either on the scheduler host, or directly on the host being monitored. Modules run directly on the host being monitored must work with the transport modules, which works with the remote gateway. Check Modules must require their arguments to be typed. Check Modules may track the duration of check execution and include this information in the check result document. This functionality is handled automatically by libcm and Survivor/Check.pm, but can be disabled via cm_measure_duration(false); in the former and $self->MeasureDuration(0); in the latter. Note that libcm uses millisecond resolution, but Check.pm (due to limitations in Perl) uses second resolution. See also the technical document on duration measurement. For assistance in testing Check Modules, the XML Maker utility may be useful. Additionally, the special module arguments debugfile (type file) or debugsyslog (type boolean) may be used to enable debugging. Important: Please see the license for this package to see if custom modules are subject to the same license.
$Date: 2006/11/19 18:10:30 $ $Revision: 0.11 $ |
keywords |