Next: spong-status | Previous: spong-server | [Table of Contents] | [Index] |
The file name of the module must begin with 'data_'. The registry key can be anything, but it should be consistent with the procedure's name. And the registry must be unique among the other loaded modules; otherwise, one module will overlay the other.
The line that has the assignment to $DATAFUNCS{'registry-name'}
is the
key to the registry mechanism. It's what ties the registry name to the
your data module.
data_cpu_queue:
# Register the routine with the plugin registry $DATAFUNCS{'cpu_queue'} = \&data_cpu_queue; $CPU_QUEUE_DIR = "/var/spool/spong-queue"; # The spooling directory sub data_cpu_queue { my( $host, $service, $color, $start, $time, $sum, $message ) = @_; if ( $service ne 'cpu' ) { return; } my( $file ) = "$CPU_QUEUE_DIR/$host-" . time(); if (! open(FH,"> $file") ) { &main::error("plugin::data_cpu_queue: Could not open file $file: $!"); return; } print FH "hostname: $host\n"; print FH "color: $color\n"; print FH "start-time: $start\n"; print FH "last-update: $time\n"; print FH "summary: $sum\n"; print FH "message:\n$message\n"; close FH; &main::debug("plugin::data_cpu_queue: event written to file $file",5); } # I'm included perl code, I need this line. 1;Please note the final line. It is always required for a module file.
You should use the &main::error()
function to log any error encountered
in your module. The &main::error()
function is used to write output
whenever something interesting happens in your module.
Any configuration variables needed for your data modules can be put into the
Global section of your module as shown above. Of it can be added into the
spong.conf
or spong.conf.<host>
configuration files.
Configuration variables for your module should be named to match them up
with the name of your customized check.
sjohnson@monsters.org
>