用nagios监控80台云主机服务器懒得一个一个安装配置,直接在puppet服务器端建立一个资源,让客户机自己更新下载安装。资源如下:

node default{
file {    "/tmp/nagios.sh":     source => "puppet://master.test.com/files/nagios.sh",     group => root,    owner => root,    mode => "755"  }

exec {   "/tmp/nagios.sh":   command => "sh /tmp/nagios.sh", require => file["/tmp/nagios.sh"],   user => root, path => ["/usr/bin","/usr/sbin","/bin","/bin/sh"], }
}

nagios.sh 算是自己写的一个简略的nagios客户端安装脚本,这样做的话用puppet推送客户端,客户端自己安装运行,就省下了大量的时间跟精力!

nagios.sh 脚本如下

yum -y install xinetd
mkdir /usr/local/nagios
useradd nagios
chown nagios:nagios /usr/local/nagios
wget http://xxxx/nagios-plugins-1.4.15.tar.gz
wget http://xxxx/nrpe-2.13.tar.gz
tar -zxvf nrpe-2.13.tar.gz
tar -zxvf nagios-plugins-1.4.15.tar.gz
cd ~/nagios-plugins-1.4.15
./configure --prefix=/usr/local/nagios
make && make install

cd ~/nrpe-2.13
./configure --prefix=/usr/local/nagios
make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd
cd /etc/xinetd.d/
cp nrpe  nrpe.bak
sed -i 's/only_from       = 127.0.0.1/only_from       = 127.0.0.1 xxxx/g' /etc/xinetd.d/nrpe
echo -e "nrpe\t\t5666/tcp\t\t#NRPE" >>/etc/services
cd /usr/local/nagios/etc/
cp  nrpe.cfg nrpe.cfg.bak
sed -i 's/allowed_hosts=127.0.0.1/allowed_hosts=127.0.0.1 xxxx/g' /usr/local/nagios/etc/nrpe.cfg
echo -e "\ncommand[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/mapper/VolGroup00-LogVol00" >> /usr/local/nagios/etc/nrpe.cfg
echo -e "\ncommand[check_ping]=/usr/local/nagios/libexec/check_ping -H 127.0.0.1 -w 100.0,20% -c 500.0,60%">> /usr/local/nagios/etc/nrpe.cfg
echo -e "\ncommand[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%">> /usr/local/nagios/etc/nrpe.cfg
/etc/init.d/xinetd restart

上面的XXXX是什么就不说了,大家都懂的。。。。。。安装脚本经过本人测试应用基本上没什么问题。