#!/bin/bash##nagios监控软件一件使用##date:2016-08-23##作者:liuwenzhi#定义变量YUMNUM=`yumrepolist2>/dev/null|greprepolist:|sed's/[^0-9]//g'`NAGIOSzip=nagios.zipNAGIOS=nagios#定义yum源是否可用脚本YUMREPO(){echo-ne"3[34m正在检测yum源3[0m"sleep3if[$YUMNUM-eq0];thenecho-e"3[32myum源不可用,请先配置yum源3[0m"exit10elseecho-e"3[34myum源检测通过!3[0m"fi}#定义菜单menu(){echo"##############----一键安装菜单----##############"echo"#1.安装nagios监控端"echo"#2.安装远程被监控端"echo"#3.退出"read-p"请输入菜单【1-3】"select}#安装nagios依赖环境yilai_install(){echo"----------正在安装依赖包"case$selectin1)yuminstall-yhttpdphpgccglibcunzipzipglibc-commongdgd-devellibpnglibjpegzlibopenssl-devel&>/dev/null;;2)yuminstall-ygccopenssl-devel&>/dev/null;;esacecho"----------依赖安装完成"}#定义configure时是否出错configure_err(){if[$?-ne0];thenecho"cofigure失败"exit11fi}#定义make时是否出错make_err(){if[$?-ne0];thenecho"make失败"exit12fi}#定义makeinstall安装时是否出错make_install_err(){if[$?-ne0];thenecho"makeinstall失败"exit13fi}#修改httpd文件支持phpxiugai_httpd(){sed-i'/^DirectoryIndex/s/$/&index.php/g'/etc/httpd/conf/httpd.confservicehttpdstart&>/dev/nullchkconfighttpdon}#nagios安装nagios_install(){echo"----------安装nagios"groupaddnagcmd&>/dev/nulluseradd-s/sbin/nologinnagios&>/dev/nullusermod-Gnagcmdapacheif[-f$NAGIOS];thenrm-rf$NAGIOSfiunzip$NAGIOSzip&>/dev/nullcd$NAGIOStar-zxfnagios-3.2.1.tar.gz-C/usr/src&>/dev/nullcd/usr/src/nagios-3.2.1/echo"----------编译中"./configure--with-command-group=nagcmd&>/dev/nullconfigure_errmakeall&>/dev/nullmake_errmakeinstall&>/dev/nullmake_install_errmakeinstall-init&>/dev/nullmakeinstall-config&>/dev/nullmakeinstall-commandmode&>/dev/nullmakeinstall-webconf&>/dev/null}#nagios-plugins安装plugins(){cd-&>/dev/nulltar-zxfnagios-plugins-1.4.14.tar.gzcdnagios-plugins-1.4.14./configure--with-nagios-user=nagios\--with-nagios-group=nagcmd&>/dev/nullconfigure_errmake&>/dev/nullmake_errmakeinstall&>/dev/nullmake_install_err#监控脚本资源在ls/usr/local/nagios/libexec/下}#安装nrpenrpe_install(){cd-&>/dev/nulltar-zxfnrpe-2.12.tar.gzcdnrpe-2.12./configure&>/dev/nullconfigure_errmake&>/dev/nullmake_errmakeinstall&>/dev/nullmake_install_errmakeinstall-plugin&>/dev/nullsed-i'$a\definecommand{'/usr/local/nagios/etc/objects/commands.cfgsed-i'$a\command_namecheck_nrpe'/usr/local/nagios/etc/objects/commands.cfgsed-i'$a\command_line$USER1$/check_nrpe-H$HOSTADDRESS$-c$ARG1$'/usr/local/nagios/etc/objects/commands.cfgsed-i'$a\}'/usr/local/nagios/etc/objects/commands.cfg#cd/usr/local/nagios/etc/objects/#read-p"请输入需要监控的用户名"u#cplocalhost.cfg$u.cfg#sed-i'/host_name/s/localhost/$u/g'/usr/local/nagios/etc/objects/localhost.cfg#sed-i'$a\cfg_file=/usr/local/nagios/etc/objects/$u.cfg}#修改配置文件abc(){[-f/usr/local/nagios/etc/objects/commands.cfg]||\cp/usr/src/nagios-3.2.1/sample-config/template-object/commands.cfg/usr/local/nagios/etc/objects/[-f/usr/local/nagios/etc/objects/localhost.cfg]||\cp/usr/src/nagios-3.2.1/sample-config/template-object/localhost.cfg/usr/local/nagios/etc/objects/[-f/usr/local/nagios/etc/nagios.cfg]||\cp/usr/src/nagios-3.2.1/sample-config/nagios.cfg/usr/local/nagios/etc/cp/usr/src/nagios-3.2.1/sample-config/httpd.conf/etc/httpd/conf.d/nagios.confecho"请设置页面登入密码,按回车设置"readhtpasswd-c/usr/local/nagios/etc/htpasswd.usersnagiosadmin/etc/init.d/nagiosstart&>/dev/nullservicehttpdrestart&>/dev/null}#安装被监控端主机ggg(){echo"----------安装中"useraddnagios&>/dev/nullgroupaddnagcmd&>/dev/nullusermod-Gnagcmdnagios&>/dev/nullunzip$NAGIOSzip&>/dev/dullcd$NAGIOStar-zxfnagios-plugins-1.4.14.tar.gzcdnagios-plugins-1.4.14./configure&>/dev/nullconfigure_errmake&>/dev/nullmake_errmakeinstall&>/dev/nullmake_install_errcd..tar-zxfnrpe-2.12.tar.gzcdnrpe-2.12./configure&>/dev/nullconfigure_errmake&>/dev/nullmake_errmakeinstall&>/dev/nullmake_install_errmakeinstall-plugin&>/dev/nullmakeinstall-daemon&>/dev/nullmakeinstall-daemon-config&>/dev/nullmakeinstall-xinetd&>/dev/nullyuminstall-ytelnet-server&>/dev/nullread-p"-----请输入监控端的ip-----:"ipsed-i'/only_from/s/$/&"$ip"/'/etc/xinetd.d/nrpegrep-qnrpe/etc/services||\sed-i'$a\nrpe5666/tcp'/etc/services/etc/init.d/xinetdrestart&>/dev/null}while:doclearmenucase$selectin1)YUMREPOyilai_installxiugai_httpdnagios_installpluginsabcnrpe_installecho-e"3[32mOK,按回车继续3[0m"read;;2)gggecho-e"3[32mOK,按回车继续3[0m"read;;3)exit0;;*)echo"输入有误";;esacdone1.此脚本在多台机器上测试成功。2.nagios版本是nagios-3.2.1版本跑在httpd上3.访问时:输入:ip/nagios4.页面用httpd的密码工具生成用户密码,用户是nagiosadmin(脚本里设置的,可自己改)。5.弹出自己输入密码6.脚本可能还有瑕疵,不知道依赖包考虑的是不是完全.7.naios.zip文件10M,传不上来。上传到百度云里。有兴趣的可以下载,并在自己虚拟机上运行一次看下效果下载地址:http://pan.baidu.com/s/1slJ5GIT密码nexl8.脚本运行使用当需要远程监控一台机器时,先在被监控端运行2,然后再监控端运行3.这是运行1大概的过程------------##############----一键安装菜单----###############1.安装nagios监控端#2.安装远程被监控端#3.监控端修改被监控端文件#4.退出请输入菜单【1-4】1正在检测yum源yum源检测通过!----------正在安装依赖包----------依赖安装完成----------安装nagios----------编译中请设置页面登入密码,按回车设置Newpassword:Re-typenewpassword:AddingpasswordforusernagiosadminOK,按回车继续