$Id: README,v 1.3 2001/12/14 01:42:03 piers Exp $ Installation: This is a pure-perl module. It requires nothing that isn't part of the standard perl distribution (as far as I know) as it only relies on IO::Socket. Do the usual perl Makefile.PL make make test make install Or just copy the lib/Net/Nsca.pm file to wherever you want. Note: The external command file used by netsaint should have the right permissions (if you're using the local_message method) You may have to set your umask or do other things to ensure that NetSaint can alter the file. The utility send_nsca.pl is included as a proof-of-concept. It does basically what the C utility send_nsca does, but in perl. It allows you to ensure that Net::Nsca actually does what it should. Assuming you have a passive check like this in your hosts.cfg file: service[dev.selsyn]=NSCATest;1;pasv;1;5;1;all-admins;500;24x7;1;1;1;;check_ping then you can submit a passive check like echo 'dev.selsyn,NSCATest,2,TestNetCrit2' | ./send_nsca.pl -d ',' -x -p 5667 localhost or echo 'dev.selsyn,NSCATest,0,All Clear' | ./send_nsca.pl -d ',' -x -l The Module: v1.6 - 14th December 2001 - First public release This is the POD, which says pretty much all that needs to be said: NAME Net::Nsca - a perl way to send status checks to NetSaint, locally and remotely DESCRIPTION This module provides a simple API to allow perl programs to send checks to the Netsaint server that is monitoring them. This server may be local or remote. The API has two main methods and one utility method: Net::Nsca::local_message($message [, $log_file]); Pass in a hashref with the message fields in it - the keys are host_name, svc_description, return_code, plugin_output - and optionally the name of the file to append the status check message to (the default is /usr/local/netsaint/rw/netsaint.cmd if you don't supply one) Dies if anything goes wrong. Net::Nsca::send_message($message, $remote_host [, $config_file [, $remote_port ]]); Pass in a hashref with the message fields in it - the keys are host_name, svc_description, return_code, plugin_output - the name or address of the Netsaint host, the port number (defaults to 5667), and the config file to be read - defaults to /usr/local/netsaint/etc/send_nsca.cfg Dies if there's a problem. ($password, $encryption_method) = Net::Nsca::read_config($configfile) You probably won't need to use this, but it's available anyway. Reads in a config file, probably called send_nsca.cfg, and returns the password and encryption method. Dies if it can't find them. COPYRIGHT See the LICENSE file. Parts are based on work by Ethan Galstad, the rest is mine. PERL IMPLEMENTATION P Kent, Started Nov 2001 $Id: Nsca.pm,v 1.2 2001/12/01 22:17:27 piers Exp $