#!/bin/bash
#Write by shine
clear
echo "========================================================================="
echo "Welcome to TM Monitor ! ^.^"
echo ""
echo "Now start nagios server on linux......"
echo "!!!!user------>>>>root!!!!"
echo ""
echo "========================================================================="
echo "========================================================================="
echo "Welcome to TM Monitor ! ^.^"
echo ""
echo "Now start nagios server on linux......"
echo "!!!!user------>>>>root!!!!"
echo ""
echo "========================================================================="
SOFTWARE_PATH=/usr/local/src
PLUGIN=nagios-plugins-1.4.15.tar.gz
NAGIOS=nagios-cn-3.2.3.tar.bz2
NRPE=nrpe-2.12.tar.gz
PNP=pnp4nagios-0.6.10.tar.gz
NDOUTILS=ndoutils-1.4b7.tar.gz
MSSQL=check_mssql_health-1.5.8.tar.gz
UNIXODBC=unixODBC-2.3.0.tar.gz
DBDODBC=DBD-ODBC-1.21.tar.gz
FREETDS=freetds-stable.tgz
SBIN=sbin.tar
SHARE=share.tar
DBI=DBI-1.607.tar.gz
DBD=DBD-mysql-3.0008.tar.gz
NAGIOS=nagios-cn-3.2.3.tar.bz2
NRPE=nrpe-2.12.tar.gz
PNP=pnp4nagios-0.6.10.tar.gz
NDOUTILS=ndoutils-1.4b7.tar.gz
MSSQL=check_mssql_health-1.5.8.tar.gz
UNIXODBC=unixODBC-2.3.0.tar.gz
DBDODBC=DBD-ODBC-1.21.tar.gz
FREETDS=freetds-stable.tgz
SBIN=sbin.tar
SHARE=share.tar
DBI=DBI-1.607.tar.gz
DBD=DBD-mysql-3.0008.tar.gz
datetime(){
echo
echo "=======================set the timezone and time========================"
echo
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate cn.pool.ntp.org
echo
echo "========================the time is ok now!============================="
echo
}
}
apache2(){
echo
echo
echo "=============================install apache2============================"
sleep 5
cd $SOFTWARE_PATH
apt-get install apache2 -y
apt-get install libapache2-mod-php5 -y
apt-get install build-essential -y
apt-get install libgd2-xpm-dev -y
apt-get install libssl-dev -y
apt-get install gnokii -y
apt-get install sendemail -y
}
}
download(){
echo
echo
echo "======================Start download Nagios Client package==============="
sleep 5
cd $SOFTWARE_PATH
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.2.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/pnp4nagios/pnp4nagios-0.6.2.tar.gz
chmod +x nagios-plugins-1.4.15.tar.gz
chmod +x nagios-3.2.2.tar.gz
chmod +x nrpe-2.12.tar.gz
chmod +x pnp4nagios-0.6.7.tar.gz
echo "Download packages finished!"
echo "========================================================================"
}
}
nagios(){
echo
echo
echo "===========================Install nagios==============================="
sleep 5
cd $SOFTWARE_PATH
groupadd nagios
useradd nagios -g nagios
usermod -G nagios nagios
groupadd nagcmd
usermod -G nagcmd nagios
usermod -G nagcmd www-data
tar xjvf $NAGIOS
cd nagios-cn*
chmod 777 *
./configure --with-command-group=nagcmd --prefix=/usr/local/nagios
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf
htpasswd –c /usr/local/nagios/etc/htpasswd.users nagiosadmin<<EOF
nagiosadmin
nagiosadmin
EOF
/etc/init.d/apache2 reload
nagiosadmin
nagiosadmin
EOF
}
nagios-plugins(){
echo
echo
echo "=========================Install Nagios-plugins======================="
sleep 5
cd $SOFTWARE_PATH
tar xzvf $PLUGIN
cd nagios-plugins-*
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
}
}
nrpe(){
echo
echo
echo "===========================Install nrpe==============================="
sleep 5
cd $SOFTWARE_PATH
tar xzvf $NRPE
cd nrpe-*
./configure
make all
make install-plugin
}
}
pnp4nagios(){
echo
echo
echo "==========================Install pnp4nagios=========================="
sleep 5
apt-get install rrdtool -y
apt-get install php5-gd -y
cd $SOFTWARE_PATH
tar xzvf $PNP
cd pnp4nagios-*
./configure
make all
make install
make install-init
make install-config
make fullinstall
a2enmod rewrite
mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/notinstall
/etc/init.d/apache2 restart
}
mysqlin(){
echo
echo
echo "============================Install mysql============================="
echo
echo "Do you want to install mysql[y/n]:"
read a
case $a in
Y|y)
apt-get install mysql-server -y
;;
N|n)
exit 1
;;
*)
echo "please input Y/y/N/n!!"
;;
esac
}
}
mysqlin(){
}
ndoutils(){
echo
echo
echo "===========================Install NDOutils==========================="
sleep 5
cd $SOFTWARE_PATH
tar xzvf $DBI
cd DBI*
perl Makefile.PL
make
make install
cd $SOFTWARE_PATH
tar xzvf $DBD
cd DBD-mysql*
unset
perl Makefile.PL --testhost=127.0.0.1 --testuser=root --testpassword=123456
make
make install
cd $SOFTWARE_PATH
tar xzvf $NDOUTILS
cd ndoutils*
./configure --enable-mysql --disable-pgsql --with-mysql-lib=/usr/lib/mysql
make
mysql -uroot -p123456 -e "create database nagios;"
mysql -uroot -p123456 -e "grant all on nagios.* to nagios@localhost identified by 'nagios';"
cd db
./installdb -u root -p 123456 -d nagios
cp ./src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp ./src/ndo2db-3x /usr/local/nagios/bin/ndo2db
cp ./config/ndo2db.cfg /usr/local/nagios/etc/ndo2db.cfg
cp ./config/ndomod.cfg /usr/local/nagios/etc/ndomod.cfg
chmod 774 /usr/local/nagios/bin/ndo*
chown nagios:nagios /usr/local/nagios/bin/ndo*
}
odbc(){
echo
echo
echo "=========================Install check_mssql_health==================="
sleep 3
cd $SOFTWARE_PATH
tar xzvf $MSSQL
cd check_mssql*
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-perl=/usr/bin/perl
make
make install
echo
echo
echo "=========================Install freetds==============================="
echo
apt-get install freetds-dev -y
apt-get install Sybase* -y
echo "==========================Install unixODBC============================="
sleep 3
cd $SOFTWARE_PATH
tar xzvf $UNIXODBC
cd unixODBC*
./configure --prefix=/usr/local/unixODBC
make
make install
echo
echo
echo "==========================Install DBD-ODBC============================"
sleep 3
export ODBCHOME=/usr/local/unixODBC
cd $SOFTWARE_PATH
tar xzvf $DBDODBC
cd DBD-ODBC*
perl Makefile.PL
make
make install
echo
echo
echo "===========================Install freetds-stable====================="
sleep 3
cd $SOFTWARE_PATH
tar xzvf $FREETDS
cd freetds-*
./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC --with-tdsver=8.0
make
make install
echo "!!You can config and use check_mssql_health.........................."
}
}
cgishare(){
echo
echo
echo "===========================share and cgi=============================="
sleep 3
cd $SOFTWARE_PATH
tar xf $SBIN
cp ./sbin/*.cgi /usr/local/nagios/sbin
tar xf $SHARE
cp -r share/ /usr/local/nagios/
}
}
main(){
apt-get update
datetime
apache2
#download
nagios
nagios-plugins
nrpe
pnp4nagios
mysqlin
ndoutils
odbc
cgishare
chown -R nagios.nagios /usr/local/nagios
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
echo "*************************Check the nagios config****************************"
echo
echo
sleep 3
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
echo "*************************Star nagios....***********************************"
echo
echo
sleep 3
/etc/init.d/nagios start
echo "***************************************************************************"
echo "If everything is ok ."
echo "Then,you can do htpasswd the admin and ask:http://localhost_IP/nagios and the user is nagiosadmin..."
echo "And you can config your nagios configure...."
echo "The end!!!!!!!"
echo "***************************************************************************"
}
}
main