nagios一键安装脚本V1.0(客户端+服务端)

服务端脚本:

#!//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