78 lines
2.9 KiB
Plaintext
Executable File
78 lines
2.9 KiB
Plaintext
Executable File
This file was updated on Sun Oct 21 21:32:12 PDT 2007.
|
|
|
|
Developer guidelines:
|
|
http://nagiosplug.sourceforge.net/developer-guidelines.html
|
|
|
|
Nagios Plugins:
|
|
http://nagiosplugins.org/
|
|
|
|
Nagios: http://nagios.org and http://nagiosplug.sourceforge.net
|
|
|
|
Perl library:
|
|
http://search.cpan.org/dist/Nagios-Plugin/lib/Nagios/Plugin.pm
|
|
|
|
The email delivery plugin I wrote uses two other plugins
|
|
(smtp send and imap receive), also included, to send a message
|
|
to an email account and then check that account for the message
|
|
and delete it. The plugin times how long it takes for the
|
|
message to be delivered and the warning and critical thresholds
|
|
are for this elapsed time.
|
|
|
|
A few notes:
|
|
|
|
1. I tried to use the check_smtp plugin for sending mail. I
|
|
can do it on the command line but I can't get the newlines to
|
|
happen from the nagios config file (\n doesn't seem to work so smtp
|
|
server waits for the '.' but doesn't get it like it does when I
|
|
use single quote and newlines from the command line). So if
|
|
you know how to get the check_smtp plugin to send a message from
|
|
the nagios config, that one could be used instead of the
|
|
check_smtp_send plugin included here (and please let me know)
|
|
|
|
|
|
2. I looked at check_mail.pl by bledi51 and its pretty good,
|
|
and also conforms better to nagios perl plugin guidelnes than
|
|
mine does. So I'm going to be revising my plugins to conform
|
|
more.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Finally, usage example from my own nagios config:
|
|
|
|
define command{
|
|
command_name check_email_delivery
|
|
command_line $USER1$/check_email_delivery -H $HOSTADDRESS$ --mailfrom $ARG3$ --mailto $ARG4$ --username $ARG5$ --password $ARG6$ --libexec $USER1$ -w $ARG1$ -c $ARG2$
|
|
}
|
|
|
|
define service{
|
|
use generic-service
|
|
host_name mail.your.net
|
|
service_description EMAIL DELIVERY
|
|
check_command check_email_delivery!5!120!sender@your.net!recipient@your.net!recipient@your.net!password
|
|
}
|
|
|
|
|
|
A new usage example equivalent to the old one but using the new --plugins and --token options:
|
|
|
|
define command{
|
|
command_name check_email_delivery
|
|
command_line $USER1$/check_email_delivery -p '$USER1$/check_smtp_send -H $HOSTADDRESS$ --mailfrom $ARG3$ --mailto $ARG4$ -U $ARG5$ -P $ARG6$ --subject "Nagios %TOKEN1%" -w $ARG1$ -c $ARG2$' -p '$USER1$/check_imap_receive -H $HOSTADDRESS$ -U $ARG5$ -P $ARG6$ -s SUBJECT -s "Nagios %TOKEN1%" -w $ARG1$ -c $ARG2$' -w $ARG1$,$ARG1$ -c $ARG2$,$ARG2$
|
|
}
|
|
|
|
define service{
|
|
use generic-service
|
|
host_name mail.your.net
|
|
service_description EMAIL DELIVERY
|
|
check_command check_email_delivery!5!120!sender@your.net!recipient@your.net!recipient@your.net!password
|
|
}
|
|
|
|
|
|
References to similar plugins:
|
|
|
|
pop3(s) email matching plugin by kkvenkit
|
|
check_mail.pl by bledi51
|
|
check_email_loop.pl by ryanwilliams
|
|
check_pop.pl and check_imap.pl by http://www.jhweiss.de/software/nagios.html
|
|
|