SOLVED: RE: Plugin error: Remote cisco command via SSH notworking
Donnell Lewis
donnell.lewis at icoretechnology.com
Thu Nov 16 17:33:20 CET 2006
Don't forget you may also want to post this on nagiosexchange.com as
it's a great resource for Nagios related projects.
Thx,
-Don Lewis
On Thu, 2006-11-16 at 17:13 +0100, Javier Castillo Alcibar wrote:
> Hello,
>
> I think I solved the problem. Notice this command in my perl script:
> "$ENV{'HOME'} = '/var/lib/nagios';"
>
> Nagios process was executing the plugin with HOME env varible set to "/root" ¿?¿?. This made ssh fails when trying to read $HOME/.ssh/config files.... (root folder is not readable by other users)
>
> Finally, my contribution to nagios world: check_cisco_ping_ssh (ping from cisco routers, using ssh):
>
> #!/usr/bin/perl
> # Net::SSH de http://www.stupidfool.org/perl/net-ssh/
> #
> # Use: usr/local/sbin/check_cisco_ping_ssh <host> <port> <user> <pass> <ip> <warn> <crit>
> #
> use strict;
>
> use Net::SSH::Perl;
>
> $ENV{'HOME'} = '/var/lib/nagios';
>
> my $router=$ARGV[0];
> my $port=$ARGV[1];
>
> my $user=$ARGV[2];
> my $pass=$ARGV[3];
>
> my $ip=$ARGV[4];
>
> my $warn=$ARGV[5];
> my $crit=$ARGV[6];
>
>
>
> my $sesion_ssh = Net::SSH::Perl->new($router, protocol=>1, cipher=>'DES', port=>$port, debug=> 'false');
> $sesion_ssh->login($user, $pass);
>
> my $comand="ping $ip";
>
> my($output, $output_error, $value_exit) = $sesion_ssh->cmd($command);
>
> $output =~ /Success rate is (\d*) (.*)/;
>
> my $rate=$1;
>
> if ( $rate <= $crit ) {
> print "PROBLEM: Rate=$rate%\n";
> exit 2;
> }
>
> if ( $rate <= $warn ) {
> print "WARNING: Rate=$rate%\n";
> exit 1;
> }
>
> if ( $rate <= 100 ) {
> print "OK: Rate=$rate%\n";
> exit 0;
> }
>
> exit 3;
>
>
>
> Enjoy it.
> Regards
>
> Javier Castillo Alcíbar (2404)
> Alhambra Eidos.
> +34 91 787 23 00 javier.castillo at a-e.es
>
>
>
>
>
>
>
> -----Mensaje original-----
> De: Andreas Ericsson [mailto:ae at op5.se]
> Enviado el: jueves, 16 de noviembre de 2006 16:59
> Para: Javier Castillo Alcibar
> CC: nagios-users at lists.sourceforge.net
> Asunto: Re: [Nagios-users] Plugin error: Remote cisco command via SSH notworking
>
> Javier Castillo Alcibar wrote:
> >
> > Hello all,
> >
> > I have some cisco routers that can only be managed using SSH. I wrote
> > an script, to do remotely some PING's from these routers, integrated
> > in nagios.
> >
> > My problem is very strange:
> > - if a execute this script from the command line by myself, it works
> > as expected.
> > - if nagios process executes the script, it does not work. It looks
> > like ssh process didn't return anything....
> >
> > I think it's a problem related with ttys.....but I'm not sure.
> >
> > This is my (perl) script:
> >
> > #!/usr/bin/perl
> > #
> > # Uso: usr/local/sbin/check_cisco_ping_ssh <host> <port> <user> <pass>
> > <ip> <warn-rate> <crit-rate> # use Net::SSH::Perl;
> >
> > $router=$ARGV[0];
> > $port=$ARGV[1];
> > $user=$ARGV[2];
> > $pass=$ARGV[3];
> > $ip=$ARGV[4];
> > $warn=$ARGV[5];
> > $crit=$ARGV[6];
> >
> > my $sesion_ssh = Net::SSH::Perl->new($router, protocol=>1,
> > cipher=>'DES', port=>$port); $sesion_ssh->login($user, $pass);
> >
> > $command="ping $ip";
> >
> > my($output, $output_error, $val_exit) = $sesion_ssh->cmd($command);
> >
> > $output =~ /Success rate is (\d*) (.*)/; $rate=$1;
> >
> > if ( $rate <= $crit ) {
> > print "PROBLEM: PING Rate=$rate%\n";
> > exit 2;
> > }
> > if ( $rate <= $warn ) {
> > print "WARNING: PING Rate=$rate%\n";
> > exit 1;
> > }
> > if ( $rate <= 100 ) {
> > print "OK: PING Rate=$rate%\n";
> > exit 0;
> > }
> > exit 3;
> >
> >
> > Any help is welcome!!.
> >
>
> Have you compiled nagios with embedded perl support? If so, use /usr/bin/perl /path/to/your/script.pl
>
> instead of just
>
> /path/to/your/script.pl
>
> in the command definition.
>
> Other than that, make sure that the nagios-user has access to execute the script and try it from the command-line *as the nagios user*. If that works, you've made some mistake in your configuration.
>
> --
> Andreas Ericsson andreas.ericsson at op5.se
> OP5 AB www.op5.se
> Tel: +46 8-230225 Fax: +46 8-230231
>
> --------------------------------------------------------
> Alhambra-Eidos ha cambiado su dominio de correo electrónico. Por favor revise sus contactos, y proceda a actualizar nuestras direcciones a @a-e.es.
>
>
>
> Muchas gracias.
> Alhambra-Eidos. We solve IT, we solve it
> --------------------------------------------------------
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> 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
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
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