| New file |
| 0,0 → 1,58 |
| #!/usr/bin/perl |
| # |
| # check_nfs plugin for netsaint |
| # |
| # usage: |
| # check_nfs.pl server |
| # |
| # Check if a nfs server is registered and running |
| # using rpcinfo -p <arg1>. |
| # 100003 is the rpc programmnumber for nfs. |
| # <arg1> is the server queried. |
| |
| use strict; |
| use warnings; |
| |
| my $server = ""; |
| my $rstr = ""; |
| my $rcode = 0; |
| my $v; |
| |
| $server = shift; |
| if ( $server eq "" ) { |
| print "Usage: check_nfs.pl <server>\n"; |
| exit 1; |
| } |
| |
| my %ERRORS = ( 0 => "OK", 1 => "WARNING", 2 => "CRITICAL" ); |
| |
| # probe the server |
| open CMD,"/usr/sbin/rpcinfo -p $server |"; |
| |
| while ( my $line = <CMD> ) { |
| if ( $line =~ /\s+100003\s+[0-9]\s+tcp/ ) { |
| $v = (split(/\s+/, $line))[2]; |
| $rstr = $rstr." version: $v tcp,"; |
| } elsif ( $line =~ /\s+100003\s+[0-9]\s+udp/ ) { |
| $v = (split(/\s+/, $line))[2]; |
| $rstr = $rstr." version: $v udp,"; |
| } |
| } |
| |
| close CMD; |
| |
| # if no tcp or udp of nfs found |
| if ( $rstr eq "" ) { |
| $rcode = 2; |
| $rstr = " no nfs (100003) prog responding!"; |
| } elsif ( $rstr =~ /.*udp.*tcp/ ) { |
| $rcode = 0; |
| } else { |
| $rcode = 1; |
| $rstr = " nfs tcp or udp missing - ".$rstr; |
| } |
| |
| print $ERRORS{$rcode}." $rstr\n"; |
| |
| exit $rcode; |
| |
| Property changes: |
| Added: svn:executable |
| ## -0,0 +1 ## |
| +* |
| \ No newline at end of property |