服务端脚本:
#!//bin/bash #nagios一键安装脚本 path=`pwd` yum_user() { echo -e "\033[32m开始安装基础支持套件和添加用户......\033[0m" yum -y install httpd gcc glibc glibc-common gd gd-devel if [ $? -ne 0 ] then echo -e "\033[31mYUM安装失败!\033[0m" exit 1 fi echo -e "\033[32mnagios依赖组件安装完成!\033[0m" /usr/sbin/useradd -m nagios &&/usr/sbin/groupadd nagcmd /usr/sbin/usermod -a -G nagcmd nagios /usr/sbin/usermod -a -G nagcmd apache if [ $? -ne 0 ] then echo -e "\033[31m添加用户失败!\033[0m" exit 2 fi echo -e "\033[32mnagios用户组配置完成!\033[0m" } nagios_ins() { echo -e "\033[32m开始安装nagios_cn程序......\033[0m" cd ${path}/download tar jxvf nagios-cn-*.tar.bz2 cd nagios-cn-* ./configure --with-command-group=nagcmd make all make install make install-init make install-config make install-commandmode make install-webconf if [ $? -ne 0 ] then echo -e "\033[31mnagios_cn安装失败!\033[0m" exit 3 fi echo -e "\033[32mnagios_cn程序安装成功!\033[0m" echo -e "\033[32m开始设置nagios_cn程序......\033[0m" echo -en "\033[32m请输入nagiosadmin用户密码:\033[0m" read passwd htpasswd -cb /usr/local/nagios/etc/htpasswd.users nagiosadmin ${passwd} service httpd restart chkconfig --add httpd &&chkconfig httpd on chkconfig --add nagios &&chkconfig nagios on cat>>/root/.bashrc<<EOF alias check_nagios='/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg' EOF service nagios restart if [ $? -ne 0 ] then echo -e "\033[31mnagios_cn设置失败!\033[0m" exit 3 fi echo -e "\033[32mnagios_cn程序设置成功!\033[0m" } nagios_plugins_ins() { echo -e "\033[32m开始安装nagios_plugins程序......\033[0m" cd ${path}/download tar zxvf nagios-plugins-*.tar.gz cd nagios-plugins-* ./configure --with-nagios-user=nagios --with-nagios-group=nagios make&&make install if [ $? -ne 0 ] then echo -e "\033[31mnagios_plugins安装失败!\033[0m" exit 2 fi echo -e "\033[32mnagios_plugins程序安装成功!\033[0m" } nrpe_ins() { echo -e "\033[32m开始安装nagios_plugins程序......\033[0m" cd ${path}/download tar zxvf nrpe-*.tar.gz cd nrpe-* ./configure --with-nagios-user=nagios --with-nagios-group=nagios make all make install-plugin make install-daemon make install-daemon-config if [ $? -ne 0 ] then echo -e "\033[31mnrpe安装失败!\033[0m" exit 2 fi echo -e "\033[32mnrpe程序安装成功!\033[0m" echo -e "\033[32m开始设置nrpe程序......\033[0m" cat>>/usr/local/nagios/etc/objects/commands.cfg<<EOF define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ } EOF /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d cat >> /etc/rc.d/rc.local << EOF /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d EOF if [ $? -ne 0 ] then echo -e "\033[31mnrpe设置失败!\033[0m" exit 2 fi echo -e "\033[32mnrpe程序设置成功!\033[0m" } echo -e "\033[33m开始安装nagios......\033[0m" echo -e "\033[32m\n\t(1)基础套件与用户添加\n\t(2)安装nagios-cn\n\t(3)安装nagios-plugins\n\t(4)安装nrpe\n\t(5)退出程序(exit)\033[0m" read -p "请输入选择:" choice case ${choice} in 1) yum_user;; 2) nagios_ins;; 3) nagios_plugins_ins;; 4) nrpe_ins;; 5) break;; *) echo -e "\033[31m您输入了:$num,设定没有此选项,请重输 \033[0m" break;; esac
客户端脚本:
#!/bin/bash path=`pwd` nagios_server="192.168.1.1" yum_user() { echo -e "\033[32m开始安装基础支持套件和添加用户......\033[0m" yum -y install gcc if [ $? -ne 0 ] then echo -e "\033[31mYUM安装失败!\033[0m" exit 1 fi echo -e "\033[32mnagios依赖组件安装完成!\033[0m" /usr/sbin/useradd -m nagios if [ $? -ne 0 ] then echo -e "\033[31m添加用户失败!\033[0m" exit 2 fi echo -e "\033[32mnagios用户配置完成!\033[0m" } nagios_plugins_ins() { echo -e "\033[32m开始安装nagios_plugins程序......\033[0m" cd ${path} tar zxvf nagios-plugins-*.tar.gz cd nagios-plugins-* ./configure --with-nagios-user=nagios --with-nagios-group=nagios make&&make install chown nagios.nagios /usr/local/nagios/ chown -R nagios.nagios /usr/local/nagios/libexec/ if [ $? -ne 0 ] then echo -e "\033[31mnagios_plugins安装失败!\033[0m" exit 2 fi echo -e "\033[32mnagios_plugins程序安装成功!\033[0m" } nrpe_ins() { echo -e "\033[32m开始安装nagios_plugins程序......\033[0m" cd ${path} tar zxvf nrpe-*.tar.gz cd nrpe-* ./configure --with-nagios-user=nagios --with-nagios-group=nagios make all make install-plugin make install-daemon make install-daemon-config if [ $? -ne 0 ] then echo -e "\033[31mnrpe安装失败!\033[0m" exit 2 fi echo -e "\033[32mnrpe程序安装成功!\033[0m" echo -e "\033[32m开始设置nrpe程序......\033[0m" cat >> /etc/rc.d/rc.local << EOF >/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d EOF sed -i 's@allowed_hosts=127.0.0.1@allowed_hosts=192.168.1.1@' /usr/local/nagios/etc/nrpe.cfg /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d sleep 1 /usr/local/nagios/libexec/check_nrpe -H ${nagios_server} if [ $? -ne 0 ] then echo -e "\033[31mnrpe设置失败!\033[0m" exit 2 fi echo -e "\033[32mnrpe程序设置成功!\033[0m" } echo -e "\033[33m开始安装nagios_client......\033[0m" echo -e "\033[32m\n\t(1)基础套件与用户添加\n\t(2)安装nagios-plugins\n\t(3)安装nrpe\n\t(4)退出程序(exit)\033[0m" read -p "请输入选择:" choice case ${choice} in 1) yum_user;; 2) nagios_plugins_ins;; 3) nrpe_ins;; 4) break;; *) echo -e "\033[31m您输入了:$num,设定没有此选项,请重输 \033[0m" break;; esac