check_nfs.pl 985 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/local/bin/perl
  2. #
  3. # check_nfs plugin for nagios
  4. #
  5. # usage:
  6. # check_nfs.pl server
  7. #
  8. # Check if a nfs server is registered and running
  9. # using rpcinfo -T udp <arg1> 100003.
  10. # 100003 is the rpc programmnumber for nfs.
  11. # <arg1> is the server queried.
  12. #
  13. #
  14. # Use these hosts.cfg entries as examples
  15. #
  16. #service[fs0]=NFS;24x7;3;5;5;unix-admin;60;24x7;1;1;1;;check_nfs
  17. #command[check_nfs]=/some/path/libexec/check_nfs.pl $HOSTADDRESS$
  18. #
  19. # initial version: 9-13-99 Ernst-Dieter Martin edmt@infineon.com
  20. # current status: looks like working
  21. #
  22. #
  23. # Copyright Notice: Do as you please, credit me, but don't blame me
  24. #
  25. $server = shift;
  26. open CMD,"/bin/rpcinfo -T udp $server 100003 |";
  27. $response = "nfs version ";
  28. while ( <CMD> ) {
  29. if ( /program 100003 version ([0-9]*) ready and waiting/ ) {
  30. $response = $ response . "$1,";
  31. }
  32. }
  33. if ( $response eq "nfs version " ) {
  34. print "rpcinfo: RPC: Program not registered\n";
  35. exit 2;
  36. }
  37. $response =~ s/,$//;
  38. print "$response\n";
  39. exit 0;