flipje

areca_raid_ipmi_nagios_installer

Jan 26th, 2012
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.29 KB | None | 0 0
  1. #!/bin/bash
  2. # Deze installer configt nrpe en sudo tbv raid monitoring en ipmi supermicro server met areca raid
  3. #
  4. # flip hess 2012 [email protected]
  5.  
  6. # must be root
  7. [ $( whoami ) = 'root' ] || { echo "Please run sudo ${0}" ; exit 1; }
  8.  
  9. # arguments must be yes
  10. { [ ${#} = 1 ] && [ ${1} = YES ]; } || { echo "To install run \"sudo ${0} YES\"" ; exit 1; }
  11.  
  12. #
  13. # SUDO
  14. #
  15.  
  16. # sudo rechten
  17. [ -x /usr/bin/sudo ] || { echo "sudo not installed. running \"aptitude install sudo\"" ; aptitude install sudo -y ; }
  18. sudo echo 'nagios          ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/' >> /etc/sudoers || echo  "Failed to add sudo rights to nagios user!"
  19. sudo echo 'nagios          ALL=(ALL) NOPASSWD: /usr/local/bin/cli vsf info vol=1' >> /etc/sudoers || echo  "Failed to add sudo rights to nagios user!"
  20. sudo echo 'nagios          ALL=(ALL) NOPASSWD: /usr/local/bin/cli event info' >> /etc/sudoers || echo  "Failed to add sudo rights to nagios user!"
  21. sudo echo 'nagios          ALL=(ALL) NOPASSWD: /usr/bin/ipmitool sdr list all' >> /etc/sudoers || echo  "Failed to add sudo rights to nagios user!"
  22.  
  23. #
  24. #  NRPE
  25. #
  26.  
  27. # check for nrpe
  28. [ -x /usr/sbin/nrpe ] || { echo "NRPE not installed, running: \" aptitude install nagios-nrpe-server" ; sudo aptitude install nagios-nrpe-server -y ;}
  29.  
  30. # add settings to nrpe
  31. sudo echo 'command[check_raid]=/usr/lib/nagios/plugins/check_areca_raid status'  >> /etc/nagios/nrpe.d/check_raid.cfg
  32. sudo echo 'command[check_raid_event]=/usr/lib/nagios/plugins/check_areca_raid event'  >> /etc/nagios/nrpe.d/check_raid.cfg
  33. sudo echo 'command[check_hw_ipmi_temp]=/usr/lib/nagios/plugins/check_hw_ipmi_linux temp 30 40'  >> /etc/nagios/nrpe.d/check_hw_ipmi_linux.cfg
  34. sudo echo 'command[check_hw_ipmi_fans]=/usr/lib/nagios/plugins/check_hw_ipmi_linux fans'  >> /etc/nagios/nrpe.d/check_hw_ipmi_linux.cfg
  35. sudo echo 'allowed_hosts=10.0.0.1,10.0.0.2,10.1.2.3' >> /etc/nagios/nrpe.d/allowed_hosts
  36.  
  37. # reload nrpe
  38. sudo /etc/init.d/nagios-nrpe-server reload || { echo "Failed to reload /etc/init.d/nagios-nrpe-server" ; }
  39.  
  40. # tcp wrappers
  41. sudo echo -e 'ALL: 1.2.3.4\nALL: 5.6.7.8\nALL: 11.12.13.14' >> /etc/hosts.allow
  42.  
  43. #
  44. # ipmitool
  45. #
  46.  
  47. [ -x /usr/bin/ipmitool ] || { echo "ipmitool not installed, running \" aptitude install ipmitool\"";  sudo aptitude install ipmitool -y ; }
  48.  
  49. #
  50. # CLI
  51. #
  52.  
  53. # check if existent:
  54. [ ! -e /usr/local/bin/cli ] || { echo "another version of /usr/local/bin/cli has been found!, backing up" ; mv -v /usr/local/bin/cli /usr/local/bin/cli.bakker || { echo "failed to backup /usr/local/bin/cli, exit!" ; exit 1; }; }
  55.  
  56. # get and unpack cli
  57. OS="$( uname -a | awk '{print $12}' )"
  58. if ( echo "${OS}" | grep -q 'x86_64' )
  59. then
  60.    { cd /tmp ; wget -q http://www.areca.us/support/s_linux/cli/x86_64/cli64.zip && unzip cli64.zip; } || { echo "Failed to get and unpack CLI" ; exit 1; }
  61.    sudo mv cli64 /usr/local/bin/cli && chmod 0755 /usr/local/bin/cli && chown nagios:nagios /usr/local/bin/cli || { echo "failed to move cli64 to /usr/local/bin/cli" ; exit 1; }
  62. elif ( echo "${OS}" | grep -qE  '(i686|i386)' )
  63. then
  64.    { cd /tmp ; wget -q http://www.areca.us/support/s_linux/cli/i386/cli32.zip && unzip cli32.zip; } || { echo "Failed to get and unpack CLI"; exit 1; }
  65.    sudo mv cli32 /usr/local/bin/cli && chmod 0755 /usr/local/bin/cli && chown nagios:nagios /usr/local/bin/cli || { echo "failed to move cli32 to /usr/local/bin/cli" ; exit 1 ; }
  66. else
  67.    echo "Failed to determine OS!"
  68.    exit 1
  69. fi
  70.  
  71. #
  72. # CHECK RAID
  73. #
  74.  
  75. # get script and move on its place:
  76. { cd /tmp ;  wget http://pastebin.com/download.php?i=BVxsgBpq && sudo mv "download.php?i=BVxsgBpq" /usr/lib/nagios/plugins/check_areca_raid; } || { echo "Failed to get check_areca_raid from server!"; exit 1; }
  77. # set perms
  78. sudo chmod 0755 /usr/lib/nagios/plugins/check_areca_raid || { echo  "Failed to set execute perms on /usr/lib/nagios/plugins/check_areca_raid"; exit 1; }
  79.  
  80. #
  81. # CHECK IPMI
  82. #
  83.  
  84. # get script and move on its place:
  85. { cd /tmp ;  wget -q http://pastebin.com/download.php?i=UC7sNxA8 && sudo mv "download.php?i=UC7sNxA8" /usr/lib/nagios/plugins/check_hw_ipmi_linux; } || { echo "Failed to get check_hw_ipmi_linux from server!"; exit 1; }
  86. # set perms
  87. sudo chmod 0755 /usr/lib/nagios/plugins/check_hw_ipmi_linux || { echo  "Failed to set execute perms on /usr/lib/nagios/plugins/check_hw_ipmi_linux"; exit 1; }
  88.  
  89. echo "All went well!"
Advertisement
Add Comment
Please, Sign In to add comment