Trying to develop a new perl plugin

Paul M. Dubuc work at paul.dubuc.org
Mon Jan 24 16:44:32 CET 2011


If you're going to be writing many of your own plugins, it might be worth the 
effort to use the Nagios::Plugin modules 
(http://search.cpan.org/~tonvoon/Nagios-Plugin-0.35/lib/Nagios/Plugin.pm). 
They're probably installed under the perl/lib subdirectory of your Nagios 
installation.  Among other things, they provide a convenient wrapper for 
Getopt::Long and Params::Validate so you can do position independent options 
and argument validation for your Perl plugins.  Using it could save you quite 
a bit of time and code maintenance headaches in the long run.

Paul Dubuc

Nibin VM wrote:
> Thanks for your reply folks.. :)
>
> Finally I have concluded that the portion which reads the argument has
> issues.
>
> $host=$ARGV[0];
>
> It isn't taken correctly when its executed from nagios. Please somebody
> tell me what code should I put if I need to specify the host name like
> ./test.pl <http://test.pl> -H "hostname"?
>
> On Sun, Jan 23, 2011 at 10:44 PM, Boyer, Timothy A.
> <Timothy.Boyer at opm.gov <mailto:Timothy.Boyer at opm.gov>> wrote:
>
>     Permissions problem?  You're running the command line as root; try
>     running the command line as your Nagios username.
>     ________________________________________
>     From: Nibin VM [nibin.vm at piserve.com <mailto:nibin.vm at piserve.com>]
>     Sent: Sunday, January 23, 2011 10:46 AM
>     To: nagios-users at lists.sourceforge.net
>     <mailto:nagios-users at lists.sourceforge.net>
>     Subject: [Nagios-users] Trying to develop a new perl plugin
>
>     Hello guys,
>
>     I am trying to write some nagios perl plugin to monitor some
>     services  I'm responsible for. Initially I tried to write  custom
>     plugin to monitor mail queue using the following script.
>
>     ===========
>     #!/usr/bin/perl -w
>
>     use strict;
>     use Net::SNMP;
>     use Getopt::Long;
>
>     use lib "/usr/lib64/nagios/libexec";
>     my %ERRORS=('OK'=>0,'WARNING'=>1,'CRITICAL'=>2,'UNKNOWN'=>3);
>     my $host = undef;
>     my $result = undef;
>     my @array = undef;
>
>     $host=$ARGV[0];
>     $result=`/usr/lib64/nagios/plugins/check_snmp -H $host -C
>     "community" -o extOutput.1`;
>
>     @array = split(/\ /, $result);
>     chomp($array[3]);
>
>     if ( $array[3] le "19999" )
>     {
>       print "OK: current emails queue is $array[3]\n";
>       exit $ERRORS{"OK"};
>     }
>
>     elsif ( $array[3] ge "20000" &&  $array[3] le "29999" )
>     {
>       print "Warning: current emails queue is $array[3]\n";
>       exit $ERRORS{"WARNING"};
>     }
>
>     elsif ( $array[3] ge "30000" )
>     {
>       print "Critical: current emails queue is $array[3]\n";
>       exit $ERRORS{"CRITICAL"};
>     }
>
>     else
>     {
>       print "Unknown";
>       exit $ERRORS{"UNKNOWN"};
>     }
>     ================
>
>     As you can see, I use snmp to pull mail queue from the remote
>     server. When I try the command from command line it work fine.
>
>     ]# ./test.pl <http://test.pl><http://test.pl> "server name"
>     OK: current emails queue is 264
>
>     But from the nagios from end it shows as critical and it shows
>     "Critical: current emails queue is Unknown" error :(
>
>     Please somebody help me to sort this out. Obviously its the first
>     perl script that  I ever wrote and I really interested to write more
>     plugins in perl(I am in love with perl now :) ).
>
>     Thanks in advance!
>
>     --
>     Regards,
>     Nibin.
>
>
>
>
>     ------------------------------------------------------------------------------
>     Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
>     Finally, a world-class log management solution at an even better
>     price-free!
>     Download using promo code Free_Logger_4_Dev2Dev. Offer expires
>     February 28th, so secure your free ArcSight Logger TODAY!
>     http://p.sf.net/sfu/arcsight-sfd2d
>     _______________________________________________
>     Nagios-users mailing list
>     Nagios-users at lists.sourceforge.net
>     <mailto:Nagios-users at lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/nagios-users
>     ::: Please include Nagios version, plugin version (-v) and OS when
>     reporting any issue.
>     ::: Messages without supporting info will risk being sent to /dev/null
>
>
>
>
> --
> Regards,
> Nibin.
>
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
> Finally, a world-class log management solution at an even better price-free!
> Download using promo code Free_Logger_4_Dev2Dev. Offer expires
> February 28th, so secure your free ArcSight Logger TODAY!
> http://p.sf.net/sfu/arcsight-sfd2d
>
>
>
> _______________________________________________
> Nagios-users mailing list
> Nagios-users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nagios-users
> ::: Please include Nagios version, plugin version (-v) and OS when reporting any issue.
> ::: Messages without supporting info will risk being sent to /dev/null


------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. 
::: Messages without supporting info will risk being sent to /dev/null





More information about the Users mailing list