PDA

Afficher la version complète : [Réglé] Contribution : Script d'installation Nagios et interface web Oréon



Th0rS3lit3
12/06/2007, 21h49
Salut à tous,

Je pense que certains d'entre vous connaissent Nagios et peux être un peux moins la formidable interface web "Oréon", projet Français cela dit en passant.
Je vous renvoi donc vers leur site web : http://www.oreon-project.org/

De ceux qui connaissent ces 2 solutions et les ont deja mis en place savent a quel point cela est fastidieux... (Dépendances et patch des diffèrentes versions d'oréon).

J'ai donc fais un script, l'installation prend environ 20 min à la place d'une demi journée en ayant les nerfs solides. http://www.alionet.org/style_emoticons/<#EMO_DIR#>/laugh.gif

Je vous laisse ci-dessous le script usez en et même abusez en c'est gratuit et c'est cadeau pour vous, va chercher bonheur http://www.alionet.org/style_emoticons/<#EMO_DIR#>/biggrin.gif

Laissez vos commentaires et n'hésitez pas a me faire vos remarques ou a apporter des corrections (je script avec deux pieds gauche mais je script quand même...)

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>

#!/bin/bash
## Script d'installation de Nagios 2 et Oréon 1.4.5 sur Debian Etch 4.0
## Sébastien Lozé - 2007
## Licence GPL v3 et versions ultérieures

## Version 0.4
## Le script doit être executé en tant que root
## Il faut faire un chmod +x pour permettre l'éxécution du script
## Pour les remerciements (et uniquement les remerciements) : loze (dot) sebastien (chez) gmail (dot) com
## Thanks to Vincent et Diego pour le débuggage (plus que nécessaire)

## CHANGELOG Ver. 0.4
## - ajout du script de Diego D'OLIVEIRA GRANJA concernant la compilation des sources de Nagios

## CHANGELOG Ver. 0.3
## - ajout de uninstall PEAR dans l'option "00 - Tout désinstaller"
## - ajout de "pear upgrade PEAR"
## - modification concernant les librairies libgd2-xpm et libgd2-xpm-dev
## - ajout de MySQL 5.0 (petit oubli de ma part)
## - ajout de "pear upgrade DB"

function menu() {

clear

echo "################################################## ##"
echo "# #"
echo "# Script d'installation de Nagios et Oréon 1.4.5 #"
echo "# #"
echo "################################################## ##"
echo ""
echo " *********** Partie installation *********** "
echo ""
echo "1 - Compilation de Nagios à partir des sources (les sources doivent être dans le même répertoire que le script"
echo ""
echo "10 - Installation de Nagios à partir des paquets stable"
echo "11 - Installation des dépendances Oréon"
echo "12 - Installation des dépendances PEAR"
echo "13 - Download et Patch de Oréon 1.4->1.4.5"
echo "14 - Lancer la configuration de Oréon"
echo ""
echo " *********** Partie désinstallation ******** "
echo ""
echo "20 - Désinstallation de Nagios"
echo "21 - Désinstallation de Oréon"
echo "22 - Désinstallation des dépendances PEAR"
echo ""
echo "99 - Tout installer"
echo "00 - Tout désinstaller"
echo ""
echo "0 - Quitter"
echo ""
echo "Choix : "
read CHOIX

case $CHOIX in
1) compil_nagios && menu;;
10) install_nagios && menu;;
11) install_dep_oreon && menu;;
12) pear_dependencies && menu;;
13) dl_patch_oreon && menu;;
14) config_oreon && menu;;
20) uninstall_nagios && menu;;
21) uninstall_oreon && menu;;
22) uninstall_pear_dependencies && menu;;
99) install_nagios && install_dep_oreon && pear_dependencies && dl_patch_oreon && config_oreon && menu;;
00) uninstall_nagios && uninstall_oreon && uninstall_pear_dependencies && menu;;
0) exit;;
esac
}

function compil_nagios() {

#!/bin/bash
# Script d'installation de Nagios à partir des sources sur une distribution Debian ou compatible
# Diego D'OLIVEIRA GRANJA - 2007
# Licence GPL v3 et versions ultérieures

# Déclaration des variables

NAGIOS_VERSION="2.9"
PLUGINS_VERSION="1.4.8"
NAGIOS_DIR="/usr/local/nagios"
NAGIOS_USER="nagios"
NAGIOS_GROUP="nagios"
NAGIOS_CMDGROUP="nagcmd"
APACHE_USER="www-data"

# Paramétrage du système (comptes utilisateurs, répertoires)

echo -e "\r\n Paramétrage du système en cours..."

test -d $NAGIOS_DIR || mkdir $NAGIOS_DIR
/usr/sbin/groupadd $NAGIOS_GROUP
/usr/sbin/groupadd $NAGIOS_CMDGROUP

if ! grep "^$NAGIOS_USER:" /etc/passwd
then
/usr/sbin/useradd -m -g $NAGIOS_GROUP -s /bin/false $NAGIOS_USER
fi

chown $NAGIOS_USER.$NAGIOS_GROUP $NAGIOS_DIR

/usr/sbin/usermod -G $NAGIOS_CMDGROUP $NAGIOS_USER
/usr/sbin/usermod -G $NAGIOS_CMDGROUP $APACHE_USER
sleep 2

# Installation des paquets Debian dépendants

echo -e "\r\n Installation des paquets Debian dépendants"
/usr/bin/aptitude -y install autotools-dev binutils build-essential cpp cpp-4.1 debhelper dpatch dpkg-dev file g++ g++-4.1 gcc gcc-4.1 gettext gettext-base html2text intltool-debian libc6-dev libfreetype6 libfreetype6-dev libgd2-noxpm libgd2-noxpm-dev libjpeg62 libjpeg62-dev libmagic1 libperl-dev libperl5.8 libpng12-0 libpng12-dev libssp0 libstdc++6-4.1-dev linux-kernel-headers make patch po-debconf zlib1g-dev

# Décompression de l'archive Nagios

echo -e "\r\n Décompression de l'archive..."
tar zxf nagios-$NAGIOS_VERSION.tar.gz
echo -e "\r\n Archive décompressée....";sleep 2

# Préparation des sources

echo -e "\r\n Configuration des sources..."; sleep 2
cd nagios-$NAGIOS_VERSION
./configure --prefix=$NAGIOS_DIR --with-nagios-user=$NAGIOS_USER --with-nagios-group=$NAGIOS_GROUP --with-command-group=$NAGIOS_CMDGROUP > /dev/null
echo -e "\r\n Compilation des sources..."; sleep 2
make all
echo -e "\r\n Installation du programme...";sleep 2
make install
echo -e "\r\n Installation du script d'initialisation dans /etc/init.d ...";sleep 2
make install-init
echo -e "\r\n Installation des modèles de fichiers de configuration...";sleep 2
make install-config
echo -e "\r\n Installation du mode de commande...";sleep 2
make install-commandmode
cd ..

# Installation des plugins Nagios

echo -e "\r\n Installation des plugins..."
echo -e "\r\n Installation des paquets Debian dépendants"
/usr/bin/aptitude -y install comerr-dev libkadm55 libkrb5-dev libldap2-dev libmysqlclient15-dev libnet-snmp-perl libpq-dev libradius1 libradius1-dev libsensors-dev libsensors3 libsnmp-base libsnmp-perl libsnmp9 libsnmp9-dev libssl-dev libwrap0-dev libgnutls-dev samba-client qstat fping
/sbin/ldconfig

# Décompression de l'archive Nagios Plugins

echo -e "\r\n Décompression de l'archive..."
tar zxf nagios-plugins-$PLUGINS_VERSION.tar.gz
echo -e "\r\n Archive décompressée...."; sleep 2
echo -e "\r\n Configuration des sources..."; sleep 2
cd nagios-plugins-$PLUGINS_VERSION
./configure
echo -e "\r\n Compilation des sources..."; sleep 2
make
echo -e "\r\n Installation des plugins dans $NAGIOS_DIR/libexec...";sleep 2
make install

}

function install_nagios() {

## Mise à jour d'aptitude

echo "#########################"
echo "# #"
echo "# Mise à jour daptitude #"
echo "# #"
echo "#########################"

aptitude update

## Installation de Apache 2

echo "#######################################"
echo "# #"
echo "# Installation dapache 2 et MySQL 5.0 #"
echo "# #"
echo "#######################################"

aptitude install apache2 mysql-server-5.0

## Installation de Nagios 2.9 et de la doc

echo "################################################## ###"
echo "# #"
echo "# Installation de Nagios 2.9 et de sa documentation #"
echo "# #"
echo "################################################## ###"

aptitude install nagios2 nagios2-doc
}

function uninstall_nagios() {

## Purge de Apache 2

echo "################################"
echo "# #"
echo "# Purge dapache 2 et MySQL 5.0 #"
echo "# #"
echo "################################"

aptitude purge apache2 mysql-server-5.0

## Purge de Nagios 2.9 et de la doc

echo "############################################"
echo "# #"
echo "# Purge de Nagios 2 et de sa documentation #"
echo "# #"
echo "############################################"

aptitude purge nagios2 nagios2-doc
}

function install_dep_oreon() {

## Installation des packages nécessaires à Oréon 1.4

echo "################################################## ###"
echo "# #"
echo "# Installation des packages nécessaires à Oréon 1.4 #"
echo "# #"
echo "################################################## ###"

aptitude install rrdtool librrds-perl libnet-snmp-perl php5 libapache2-mod-php5 php5-mysql php5-snmp php-pear php5-gd libgd2-xpm libgd2-dev libgd2-xpm-dev libpng12-0 libpng12-dev libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libgd-perl libio-socket-inet6-perl libnet-snmp-perl libsocket6-perl librrdp-perl
}

function uninstall_oreon() {

## Purge des packages nécessaires à Oréon

echo "##############################################"
echo "# #"
echo "# Purge des packages nécessaires à Oréon 1.4 #"
echo "# #"
echo "##############################################"

aptitude purge rrdtool librrds-perl libnet-snmp-perl php5 libapache2-mod-php5 php5-mysql php5-snmp php-pear php5-gd libgd2-xpm libgd2-dev libgd2-xpm-dev libpng12-0 libpng12-dev libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libgd-perl libio-socket-inet6-perl libnet-snmp-perl libsocket6-perl librrdp-perl
}

function pear_dependencies() {

## Installation des dépendances PEAR

echo "#####################################"
echo "# #"
echo "# Installation des dépendances PEAR #"
echo "# #"
echo "#####################################"

pear upgrade PEAR
pear upgrade DB

pear install -o -f --alldeps DB_DataObject DB_DataObject_FormBuilder MDB2 Date Numbers_Roman HTML_Common2 HTML_QuickForm2 HTML_QuickForm_advmultiselect HTML_Table Auth_SASL Image_Canvas Image_Color Image_Graph Image_GraphViz Mail_Mime Net_Traceroute Net_Ping Validate XML_RPC HTTP Mail Net_SMTP
}

function uninstall_pear_dependencies() {

## Désinstallation des dépendances PEAR

echo "########################################"
echo "# #"
echo "# Désinstallation des dépendances PEAR #"
echo "# #"
echo "########################################"

pear uninstall DB_DataObject DB_DataObject_FormBuilder MDB2 Date Numbers_Roman Numbers_Words HTML_Common2 HTML_QuickForm2 HTML_QuickForm_advmultiselect HTML_Table Auth_SASL Image_Canvas Image_Color Image_Graph Image_GraphViz Mail_Mime Net_Traceroute Net_Ping Validate XML_RPC HTTP Mail Net_SMTP
}

function dl_patch_oreon() {

## Téléchargement de la version 1.4 d'Oreon et décompression dans le répertoire /root

echo "################################################## ###"
echo "# #"
echo "# Téléchargement de Oréon et application des patchs #"
echo "# 1.4 -> 1.4.5 #"
echo "# #"
echo "################################################## ###"

cd /root
wget http://download.oreon-project.org/tgz/oreon-1.4.tar.gz
tar -xvzf oreon-1.4.tar.gz

## Téléchargement du patch 1.4.1 et application du patch

echo "################################################"
echo "# #"
echo "# Téléchargement et application du patch 1.4.1 #"
echo "# #"
echo "################################################"

cd /root
wget http://download.oreon-project.org/patch/or...patch-1.4-1.tgz (http://download.oreon-project.org/patch/oreon-patch-1.4-1.tgz)
tar -xvzf oreon-patch-1.4-1.tgz
cd /root/oreon-1.4
for i in $(ls /root/oreon-patch/*.patch); do patch -p1 < ${i}; done

## Téléchargement du patch 1.4.2 et application du patch

echo "################################################"
echo "# #"
echo "# Téléchargement et application du patch 1.4.2 #"
echo "# #"
echo "################################################"

cd /root
wget http://download.oreon-project.org/patch/or...patch-1.4-2.tgz (http://download.oreon-project.org/patch/oreon-patch-1.4-2.tgz)
mkdir oreon-patch-1.4-2
cd oreon-patch-1.4-2
tar -xvzf ../oreon-patch-1.4-2.tgz
cd /root/oreon-1.4
patch -p1 < /root/oreon-patch-1.4-2/22-oreon-2004_04_05_-_17_55.patch

## Téléchargement du patch 1.4.3 et application du patch

echo "################################################"
echo "# #"
echo "# Téléchargement et application du patch 1.4.3 #"
echo "# #"
echo "################################################"

cd /root
wget http://download.oreon-project.org/patch/or...patch-1.4-3.tgz (http://download.oreon-project.org/patch/oreon-patch-1.4-3.tgz)
mkdir oreon-patch-1.4-3
cd oreon-patch-1.4-3
tar -xvzf ../oreon-patch-1.4-3.tgz
cd /root/oreon-1.4
patch -p1 < /root/oreon-patch-1.4-3/23-oreon-2007_04_10_-_16_27.patch

## Téléchargement du patch 1.4.4 et application du patch

echo "################################################"
echo "# #"
echo "# Téléchargement et application du patch 1.4.4 #"
echo "# #"
echo "################################################"

cd /root
wget http://download.oreon-project.org/patch/or...patch-1.4-4.tgz (http://download.oreon-project.org/patch/oreon-patch-1.4-4.tgz)
tar -xvzf oreon-patch-1.4-4.tgz
cd /root/oreon-1.4
patch -p1 < /root/oreon-patch-1.4-4/24-oreon-2007_04_13_-_19_28.patch
cd /root/oreon-1.4/ODS_SRC_ETC
patch -p0 < 25-oreon-init_ods_2007_04_13.patch

## Téléchargement du patch 1.4.5 et application du patch

echo "################################################"
echo "# #"
echo "# Téléchargement et application du patch 1.4.5 #"
echo "# #"
echo "################################################"

cd /root
wget http://download.oreon-project.org/patch/or...patch-1.4-5.tgz (http://download.oreon-project.org/patch/oreon-patch-1.4-5.tgz)
tar -xvzf oreon-patch-1.4-5.tgz
cd /root/oreon-1.4
patch -p1 < /root/oreon-patch-1.4-5/26-oreon-2007_04_24.patch

## Nettoyage du répertoire root : Suppression des archives (oreon, patchs oreon et des répertoires associés)

cd /root
rm -R oreon-1.4.tar.gz oreon-patch oreon-patch-1.4-1.tgz oreon-patch-1.4-2 oreon-patch-1.4-2.tgz oreon-patch-1.4-3 oreon-patch-1.4-4 oreon-patch-1.4-5 oreon-patch-1.4-3.tgz oreon-patch-1.4-4.tgz oreon-patch-1.4-5.tgz
}

function config_oreon() {

cd /root/oreon-1.4
sh ./install.sh
}

menu

</div>

Carnaby
12/06/2007, 22h02
Alors là tu tombe vraiment bien, ça fait un petit moment que je voulais faire quelques tests sur Agios et ça risque de devenir assez urgent.

Si j'arrive à caser ça sur mon planning (et que je me débrouille pour perdre mon portable et à shooter le serveur hébergeant le flyspray....) je te dirais ce que j'en pense.

Merci http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

Th0rS3lit3
12/06/2007, 22h12
Content que cela t'interesse...
N'hesite pas a me dire ce que tu en penses et a demander de l'aide si besoin (je commence à maitriser l'installation http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif )

Ah oui juste un petit conseil : Pense a faire des modèles avec Oréon sinon tu risque d'être vite saouler avec la config des serveurs.

Bon courage, car il en faut http://www.alionet.org/style_emoticons/<#EMO_DIR#>/laugh.gif

galagann
13/06/2007, 17h56
Le projet oreon est vraiment complet http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

Carnaby
10/07/2007, 10h25
J'ai enfin eu le temps de tester ton script.

Ca m'a bien dépanné par contre sur images debian ultra minimale il manque l'installation de "patch" pour que le script fonctionne du premier coups.

Une petite amélioration à apporter ;-)

En tout cas merci ça m'a fait gagner du temps.

Th0rS3lit3
10/07/2007, 21h56
J'ai enfin eu le temps de tester ton script.

Ca m'a bien dépanné par contre sur images debian ultra minimale il manque l'installation de "patch" pour que le script fonctionne du premier coups.

Une petite amélioration à apporter ;-)

En tout cas merci ça m'a fait gagner du temps.[/b]

Salut Carnaby,

Merci pour ton retour !

Par contre quand tu parle de patch, il s'agit des patch Oréon ou Debian ?

Car moi aussi je suis parti d'une install Debian de base (Netinstall sans aucun ajout) et je n'ai pas rencontré de soucis, donne moi en détail ce qui t'as bloqué pour que je fasse les modifs.

@ +

Carnaby
10/07/2007, 22h09
Je parle de ça http://packages.debian.org/stable/utils/patch (oui mon install de base est très light).

Pas facile d'appliquer les patch d'Oreon sans lui

Th0rS3lit3
10/07/2007, 22h21
Je parle de ça http://packages.debian.org/stable/utils/patch (oui mon install de base est très light).

Pas facile d'appliquer les patch d'Oreon sans lui[/b]

Effectivement c'est de l'ultra light sans sucre ajouté ton install, je fais la modif dès que possible, Merci Carnaby http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

MadFoX
18/07/2007, 14h56
bonjour

je suis actuellement en stage et mon but est de d'installer et de configurer nagios et oreon

j'ai testé le script et j'ai une erreur que je ne comprend pas (je suis un noob sur linux :s)

voila ce qui ce passe :

#####################################
# #
# Installation des dépendances PEAR #
# #
#####################################
No releases available for package "pear.php.net/PEAR"
Cannot initialize 'PEAR', invalid or missing package file
Package "PEAR" is not valid
upgrade failed

Th0rS3lit3
18/07/2007, 18h42
bonjour

je suis actuellement en stage et mon but est de d'installer et de configurer nagios et oreon

j'ai testé le script et j'ai une erreur que je ne comprend pas (je suis un noob sur linux :s)

voila ce qui ce passe :

#####################################
# #
# Installation des dépendances PEAR #
# #
#####################################
No releases available for package "pear.php.net/PEAR"
Cannot initialize 'PEAR', invalid or missing package file
Package "PEAR" is not valid
upgrade failed[/b]

Hello MadFox,

Tu es sur une Debian Etch ? C'est une install de base ou tu as ajouté d'autres applis ? Apparement le paquet PEAR semble invalide ou manquant...

As-tu lancer le menu 11 avant d'installer les dépendances PEAR ?

En fait je pense qu'il ne te manque que le paquet "php-pear" donc forcement il ne va pas reussir a faire un "pear upgrade PEAR"

Pour installer correctement nagios et oréon il faut lancer les menus suivants a la suite 10-11-12-13-14 ou selectionner le menu 99 pour tout installer en une fois.

J'espere avoir répondu a ta question. http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

MadFoX
19/07/2007, 10h06
lu

merci pour les info.

désolé pour le manque d'information. Je les aies pas mise car j'étais dans le même cas de figure que toi et j'ai bien fait les étapes une par une ^^

Sinon je viens juste de trouver la solution. il fallait mettre l'adresse du proxy dans les fichier de configuration de PEAR.

je croise les doigts pour la suite de l'installation. http://www.alionet.org/style_emoticons/<#EMO_DIR#>/biggrin.gif

MadFoX
19/07/2007, 12h53
voila je suis sur la page de configuration de OREON pour ca j'ai du aussi mettre l'adresse du proxy pour la commande "wget"

je pense mettre à jour le script pour ma configuration en mettant une vairiable supplémentaire (IP_proxy) et les modifications qui vont avec.

Si ca t'intéresse je te le donnerais ou je le mettrais en ligne.

En tout ton cas ton script est magnifique car devoir mettre toutes les commandes pour l'install de Nagios-oreon est vraiment dur et longue.

je vais me faire une nouvelle install (debian + Nagios-Oreon) sur mon deuxième PC de test avec le script à jour. Je pense que cela devrais mettre moins de 2H pour que tout s'install http://www.alionet.org/style_emoticons/<#EMO_DIR#>/biggrin.gif