Guest User

Untitled

a guest
Jul 21st, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.24 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. echo ""
  4. echo "Nagios config generator"
  5. sleep 2
  6. clear
  7. echo ""
  8. echo "Enter server ID: "
  9. read id
  10. clear
  11. echo ""
  12. echo "Enter server domain: "
  13. read domain
  14. echo ""
  15. clear
  16. echo ""
  17. echo "Enter server IP: "
  18. read ip
  19. echo ""
  20. clear
  21.  
  22. echo "define host{" > /usr/local/nagios/etc/objects/servers/$id.cfg
  23. echo " use linux-server" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  24. echo " host_name $id.$domain" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  25. echo " alias $id" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  26. echo " address $ip" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  27. echo " hostgroups servers" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  28. echo " }" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  29. echo "" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  30. echo "" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  31. echo "define service{" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  32. echo " use generic-service" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  33. echo " host_name $id.$domain" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  34. echo " service_description PING" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  35. echo " check_command check-host-alive" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  36. echo " }" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  37. echo "" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  38.  
  39. clear
  40. echo ""
  41. echo "Does this server have a control panel (y/n): "
  42. read cp
  43. clear
  44.  
  45. if [ "$cp" == "y" ]; then
  46. clear
  47. echo ""
  48. echo "Which control panel? 1 for cPanel or 2 Directadmin: "
  49. read whichcp
  50. clear
  51.  
  52. if [ "$whichcp" == "1" ]; then
  53. clear
  54. echo ""
  55. echo "Monitor cPanel (y/n): "
  56. read cpanel
  57. clear
  58. echo ""
  59. echo "Monitor WHM (y/n): "
  60. read whm
  61. clear
  62.  
  63. if [ "$cpanel" == "y" ]; then
  64. clear
  65. echo ""
  66. echo "Enter username of a cPanel account: "
  67. read cpaneluser
  68. clear
  69. echo ""
  70. echo "Enter password of a cPanel account: "
  71. read cpanelpass
  72.  
  73. echo "define service{" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  74. echo "use generic-service" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  75. echo "host_name $id.$domain" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  76. echo "service_description cPanel" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  77. echo "check_command check_cpanel!$cpaneluser:$cpanelpass" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  78. echo " }" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  79. echo "" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  80.  
  81. fi
  82.  
  83. if [ "$whm" == "y" ]; then
  84. clear
  85. echo ""
  86. echo "Enter username of an account with WHM access: "
  87. read whmuser
  88. clear
  89. echo ""
  90. echo "Enter password of a of an account with WHM access: "
  91. read whmpass
  92.  
  93. echo "define service{" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  94. echo "use generic-service" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  95. echo "host_name $id.$domain" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  96. echo "service_description WHM" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  97. echo "check_command check_whm!$whmuser:$whmpass" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  98. echo " }" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  99. echo "" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  100.  
  101. fi
  102. fi
  103.  
  104. if [ "$whichcp" == "2" ]; then
  105. clear
  106. echo ""
  107. echo "Monitor DirectAdmin (y/n): "
  108. read directadmin
  109. clear
  110. if [ "$directadmin" == "y" ]; then
  111. echo "define service{" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  112. echo "use generic-service" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  113. echo "host_name $id.$domain" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  114. echo "service_description DirectAdmin" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  115. echo "check_command check_directadmin" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  116. echo " }" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  117. echo "" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  118.  
  119. fi
  120.  
  121. fi
  122. fi
  123.  
  124. clear
  125. echo ""
  126. echo "Add http monitoring (y/n): "
  127. read http
  128. clear
  129. echo ""
  130. echo "Add ssh monitoring (y/n): "
  131. read ssh
  132. clear
  133.  
  134. echo ""
  135. echo "Add ftp monitoring (y/n): "
  136. read ftp
  137. clear
  138.  
  139. if [ "$http" == "y" ]; then
  140. echo "define service{" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  141. echo "use generic-service" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  142. echo "host_name $id.$domain" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  143. echo "service_description Apache" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  144. echo "check_command check_http" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  145. echo " }" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  146. echo "" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  147. fi
  148.  
  149. if [ "$ssh" == "y" ]; then
  150. clear
  151. echo "Enter SSH port: "
  152. read sshport
  153. clear
  154. echo "define service{" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  155. echo "use generic-service" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  156. echo "host_name $id.$domain" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  157. echo "service_description SSHd" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  158. echo "check_command check_ssh!$sshport" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  159. echo " }" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  160. echo "" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  161. fi
  162.  
  163. if [ "$ftp" == "y" ]; then
  164. echo "define service{" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  165. echo "use generic-service" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  166. echo "host_name $id.$domain" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  167. echo "service_description FTPd" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  168. echo "check_command check_ftp" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  169. echo " }" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  170. echo "" >> /usr/local/nagios/etc/objects/servers/$id.cfg
  171. fi
  172.  
  173. /etc/init.d/nagios restart
Add Comment
Please, Sign In to add comment