#!/bin/sh # # Mise à jour automatique de Nagios sous Ubuntu/Debian # Nicolas Hennion aka Nicolargo # Script libre: GPLv3 # # Syntaxe: # sudo ./nagiosautoupdate-ubuntu.sh # # !!! # !!! Works fine but better use the Python script nagiosautoupdate.py # !!! version="4.0.2_01" nagios_core_version="4" nagios_core_subversion="4.0.2" nagios_plugins_version="1.5" nrpe_version="2.15" nagios_user="nagios" nagios_group="nagios" ################################### # Do not touch code under this line apt="apt-get -q -y --force-yes" wget="wget --no-check-certificate -c" # Fonction: installation update() { # Backup echo "----------------------------------------------------" echo "Archivage de la configuration existante" echo "Si les choses se passe mal, on restore avec:" echo "# cd /" echo "# sudo tar zxvf ./nagios-backup.tgz" echo "----------------------------------------------------" cd /tmp tar zcvfh ./nagios-backup.tgz /usr/local/nagios --exclude var/archives # Pre-requis echo "----------------------------------------------------" echo "Installation de pre-requis / Configuration Postfix" echo "----------------------------------------------------" $apt install libperl-dev $apt install libssl-dev # Recuperation des sources cd /tmp mkdir src cd src echo "----------------------------------------------------" echo "Telechargement des sources" echo "Nagios Core version: $nagios_core_subversion" echo "Nagios Plugin version: $nagios_plugins_version" echo "NRPE version: $nrpe_version" echo "----------------------------------------------------" $wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-$nagios_core_subversion.tar.gz $wget https://www.nagios-plugins.org/download/nagios-plugins-$nagios_plugins_version.tar.gz $wget http://surfnet.dl.sourceforge.net/sourceforge/nagios/nrpe-$nrpe_version.tar.gz # Compilation de Nagios Core echo "----------------------------------------------------" echo "Compilation de Nagios Core" echo "Nagios user: $nagios_user" echo "Nagios group: $nagios_group" echo "----------------------------------------------------" cd /tmp/src tar zxvf nagios-$nagios_core_subversion.tar.gz cd nagios-$nagios_core_subversion ./configure --with-nagios-user=$nagios_user --with-nagios-group=$nagios_group --with-command-user=$nagios_user --with-command-group=$nagios_group --enable-event-broker --enable-nanosleep --enable-embedded-perl --with-perlcache make all make fullinstall echo "----------------------------------------------------" echo "Hack for Nagios 4.0 and 4.0.1" echo "Solve following issue on daemon script" echo "----------------------------------------------------" apt-get install daemon if [ ! -e /etc/rc.d/init.d/functions ]; then sudo sed -i 's/^\.\ \/etc\/rc.d\/init.d\/functions$/\.\ \/lib\/lsb\/init-functions/g' /etc/init.d/nagios sudo sed -i 's/status\ /status_of_proc\ /g' /etc/init.d/nagios sudo sed -i 's/daemon\ --user=\$user\ \$exec\ -ud\ \$config/daemon\ --user=\$user\ --\ \$exec\ -d\ \$config/g' /etc/init.d/nagios sudo sed -i 's/\/var\/lock\/subsys\/\$prog/\/var\/lock\/\$prog/g' /etc/init.d/nagios sudo sed -i 's/\/sbin\/service\ nagios\ configtest/\/usr\/sbin\/service\ nagios\ configtest/g' /etc/init.d/nagios sudo sed -i 's/\"\ \=\=\ \"/\"\ \=\ \"/g' /etc/init.d/nagios sudo sed -i 's/\#\#killproc\ \-p\ \$\{pidfile\}\ \-d\ 10/killproc\ \-p \$\{pidfile\}/g' /etc/init.d/nagios sudo sed -i 's/runuser/su/g' /etc/init.d/nagios fi # Compilation de Nagios plugins echo "----------------------------------------------------" echo "Compilation de Nagios plugins" echo "Nagios user: $nagios_user" echo "Nagios group: $nagios_group" echo "----------------------------------------------------" cd /tmp/src tar zxvf nagios-plugins-$nagios_plugins_version.tar.gz cd nagios-plugins-$nagios_plugins_version ./configure --with-nagios-user=$nagios_user --with-nagios-group=$nagios_group make make install make install-root # Compilation de NRPE echo "----------------------------------------------------" echo "Compilation du plugin NRPE" echo "Nagios user: $nagios_user" echo "Nagios group: $nagios_group" echo "----------------------------------------------------" cd /tmp/src tar zxvf nrpe-$nrpe_version.tar.gz cd nrpe-$nrpe_version ./configure --with-nagios-user=$nagios_user --with-nagios-group=$nagios_group make all make install-plugin # On fixe les droits chown -R $nagios_user:$nagios_group /usr/local/nagios # On supprime les fichiers temporaires cd /tmp rm -rf ./src } # Fonction: Verifie si Nagios les fichiers de conf sont OK check() { echo "----------------------------------------------------" echo "Verification des fichiers de configuration de Nagios" echo "----------------------------------------------------" /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg } # Fonction: Lancement de Nagios restart() { echo "----------------------------------------------------" echo "Redemarrage de Nagios / NRPE" echo "----------------------------------------------------" /etc/init.d/nagios-nrpe-server restart /etc/init.d/nagios restart } # Programme principal if [ "$(id -u)" != "0" ]; then echo "Il faut les droits d'administration pour lancer ce script." echo "Syntaxe: sudo $0" exit 1 fi if [ ! -x /usr/local/nagios/bin/nagios ]; then echo "Nagios n'est pas installé sur votre système." echo "Pour installer Nagios, utilisez le script nagiosautoinstall-ubuntu.sh" exit 1 fi update check restart