背景:公司需求,部署nagios监控系统,多台服务器部署时,会有重复工作,干脆写成脚本,自动化安装,希望能帮到大家。
脚本内容:
#!/bin/bash
#Filename:nagios.sh
setenforce 0 #需要关闭selinux,
yum install -y http php php-mysql mysql mysql-devel mysql-server #安装http、php和mysql,如果已安装,也无妨
cd /tmp #我的软件包安装在了tmp目录下,这个可以随意
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.0.8.tar.gz #下载nagios压缩包
wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz #下载nagios插件安装包
tar xf nagios-4.0.8.tar.gz #解包,需要注意的后面的包名必须与你下载的包名一致
tar xf nagios-plugins-2.1.1.tar.gz #解包
groupadd nagcmd #添加nagios命名组
useradd -G nagcmd nagios #添加nagios用户
usermod -a -G nagios apache
cd nagios-4.0.8/ #现在的路径是/tmp/nagios-4.0.8
./configure --sysconfdir=/etc/nagios --with-commond-group=nagcmd --enable-event-broker #这里也可以直接./configure,我这里是把nagios的配置文件放在了/etc/目录下,以便配置,这里可以随意
make all #编译
make install
make install-init
make install-commandmode
make install-config
make install-webconf #以上这几个步骤必须得有
cd .. #此时的路径是/tmp/
cd nagios-plugins-2.1.1/
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make #编译
make install
sed -i 's#use_authentication=1#use_authentication=0#g' /etc/nagios/cgi.cfg #修改cgi.cfg文件,把use_authentication=1改成use_authentication=0,注意这个文件的路径,我这里是/etc/nagios/cgi.cfg,一般是在/usr/local/nagios/etc/cgi.cfg。
chkconfig --add nagios #增加服务
chkconfig nagios on #增加启动项
chown -R nagios.nagcmd /usr/local/nagios/ #nagios目录更改所属主和属组
htpasswd -c /etc/nagios/htpasswd.users admin #web界面验证密码,这里的时候需要我们输入密码,注意,最后的admin表示我们登录账号是admin,当然你可以设置其他的
脚本就是以上的内容,为脚本增加执行权限
chmod +x nagios.sh
执行脚本
./nagios.sh
完成后,启动nagios服务:
service nagios start
在浏览器中输入http://ip/nagios就可以看到登录界面,注意,这里我的登录账号是admin,密码是你自己在脚本执行过程中输入的密码。