1 - installation manuelle de nagios centreon - debian
TRANSCRIPT
Installer / Configurer
DOCUMENTATION D’EXPLOITATION
NAGIOS & CENTREON Installation - DEBIAN
p. 1
FVT
INFORMATIONS / REVISIONS
Date Auteur Version Changements 07/02/2014 Francis Viallet 1.0 Version initiale
DIFFUSION – AUDIENCE
Ce document s’adresse au Directeur informatique ainsi qu’aux équipes d’administration du réseau.
p. 2
FVT
SOMMAIRE
2 SOMMAIRE
I) PREREQUIS 3
1.1 CONFIGURATION 3
II) INSTALLATION DES DEPENDANCES : 4
III) NAGIOS 7
3.1 PREREQUIS 7
3.2 TELECHARGEMENT ET EXTRACTION DES SOURCES DE NAGIOS : 8
3.3 COMPILATION DES SOURCES ET INSTALLATION DE NAGIOS 10
3.4 DEMARRAGE NAGIOS 12
3.5 TEST CONNEXION NAGIOS 14
3.6 INSTALLATION PLUGINS NAGIOS 16
IV) NDOUTILS 18
4.1 TELECHARGEMENT ET EXTRACTION NDOUTILS 18
4.2 COMPILATION, INSTALLATION ET DEMARRAGE DE NDOUTILS 20
V) INSTALLATION DE CENTREON 22
5.1 TELECHARGEMENT DE CENTREON 22
5.2 INSTALLATION DE CENTREON 23
5.3 FINALISATION DE L’INSTALLATION CENTREON 32
5.4PREMIERE UTILISATION, MANIPULATION 37
p. 3
FVT
I) Prérequis
1.1 Configuration
Vous devez avoir configuré votre adressage IP en statique, et si souhaité avoir ajouté votre machine
Linux au domaine.
p. 4
FVT
II) Installation des dépendances :
Afin de permettre une exécution correcte de nagios et centreon, nous devons installer tous les
logiciels, qui sont nécessaires aux scripts d’installation ou aux programmes Nagios et Centreon ainsi
que leurs sous programmes (par exemple on installe MySQL pour stocker les bases et réglages de
Centreon, PHP et apache pour l’interface web, les noyaux linux et les compilateurs nécessaires pour
l’installation, etc.)
Malheureusement, Centreon n’est pas compatible avec la dernière version de PHP, installée par
défaut.
Nous allons donc utiliser celle de la version de debian précédente, en ajoutant les sources de cette
version (squeeze) dans notre liste de sources puis en créant un fichier de préférences indiquant d’aller
piocher dans ces dépôts pour les paquet PHP.
On va donc ajouter notre source dans /etc/apt/sources.list :
vi /etc/apt/source.list
-On ajoute le dernier paragraphe (on commente pour indiquer ce que l’on a fait puis on
rajoute les sources de squeeze.)
#Squeeze source, for PHP oldstable packages to make Centron compatible
#Configuration pour indiquer d'aller chercher PHP uniquement dans cette source faite ici :
#/etc/apt/preferences.d/preferences
deb http://ftp.fr.debian.org/debian/ squeeze main non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main non-free
p. 5
FVT
On va alors maintenant éditer ou ajouter le fichier de préférences
/etc/apt/preferences.d/preferences :
vi /etc/apt/preferences.d/preferences
-On rajoute notre configuration pour aller chercher PHP prioritairement dans les sources de
squeeze (on n’oublie pas les commentaires pour ceux qui regardent après)
#Configuration pour aller chercher les paquets PHP dans le dépots squeeze et les autres dans
#les dépots de la version utilisée (wheezy)
Package: php5*
Pin: release a=oldstable
Pin-Priority: 700
Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700
Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700
Package: *
Pin: release a=stable
Pin-Priority: 600
p. 6
FVT
On met à jour notre liste de sources et paquets ainsi que la prise en compte de la
configuration du gestionnaire de paquet apt :
apt-get update
On peut maintenant lancer le téléchargement et l’installation des paquets :
apt-get install apache2 php5 php5-mysql php-pear php5-ldap php5-snmp php5-gd mysql-
server-5.5 libmysqlclient-dev rrdtool librrds-perl libconfig-inifiles-perl snmpd libnet-snmp-
perl libgd2-xpm libgd2-xpm-dev libpng12-dev debconf-utils libglib2.0-dev make build-
essential libgnutls-dev libssl-dev libsnmp-perl libkrb5-dev libldap2-dev libsnmp-dev gawk
libmcrypt-dev fping gettext libwrap0-dev snmp smbclient dnsutils daemon sudo ntp nmap
saidar traceroute curl libltdl3-dev wget libgetargs-long-perl libgd-tools libapache2-mod-
gnutls
On choisit un mot de passe super-utilisateur MySQL (System2008) lorsque demandé :
On vérifie la version de PHP avec dpkg :
dpkg -l | grep php
On voit bien que les paquets ont été pris dans Squeeze et non Wheezy et qu’ils sont bien en
5.3 et non 5.4
dpkg : outil de gestion des paquets et dépackageur
apt : outil de gestion des sources et installateur de paquets
| dpkg : | permet de rediriger la sortie vers la commande suivante, grep va retourner les lignes
contenant la chaine de caractères précisée ensuite.
p. 7
FVT
III) NAGIOS
3.1 Prérequis
On va préalablement créer un utilisateur nagios puis lui affecter un mot de passe
(System2008) (cet utilisateur sera celui qui lancera les processus nagios, il aura tous les droits
sur les fichiers de nagios mais pas sur le système) :
/usr/sbin/useradd -m -s /bin/bash nagios
passwd nagios
On créé les groupes nagios et nagcmd puis on leur attribue des utilisateurs
(nagios aux deux et www-data qui est l'utilisateur apache uniquement à nagcmd)
(nagios sera le groupe utilisant les fichiers nagios et dont les utilisateurs auront les droits sur
les fichiers nagios, nagcmd servira pour les commandes d’installation de nagios) :
/usr/sbin/groupadd nagios # (il existe déjà, créé avec l’user nagios)
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagios nagios
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd www-data
(L’option –a permet de rajouter l'utilisateur au groupe sans l'enlever des groupes auxquels il
est déjà affecté (ce que fait -G sans -a))
on vérifie avec cat /etc/group | grep nagios (à droite les utilisateurs à gauche les groupes)
p. 8
FVT
3.2 TELECHARGEMENT et EXTRACTION des SOURCES de NAGIOS :
On se rend (à l’aide d’un navigateur web), pour récupérer le lien de l’installateur, à l’adresse :
http://www.nagios.org/download
On prend nagios core ; on clique sur download sous la version DIY ; puis « skip to download »
On prend ensuite la « latest stable release » de nagios 3,
En effet celui-ci est entièrement supporté par centreon et Debian et est bien plus stable que la
version 4, encore trop jeune (<12mois) (et quelques bugs un peu gênants sur debian):
Pour cela on clique droit sur le lien puis « copier l’adresse du lien »
On a alors dans le presse-papiers :
http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.5.1.tar.gz
p. 9
FVT
On retourne ensuite dans notre terminal sur notre Debian puis on se met dans /tmp/
cd /tmp/
et on fait un wget du lien obtenu précédemment :
wget lelienàtéléchargerdansledossieroùonest
Après quelques résolutions de noms et redirections l'archive est enregistrée dans /tmp/
on voit avec un ls que le fichier est bien enregistré sous le nom nagios-xxxx.tar.gz
on l'extrait avec tar -xzf ;
on vérifie avec un ls ;
on peut supprimer l'archive avec rm -rf ;
on se place dans le dossier produit par l'extraction :
p. 10
FVT
3.3 COMPILATION des sources et INSTALLATION de NAGIOS
REMARQUE : On est donc toujours dans notre dossier extrait contenant les fichiers sources (codes
sources, etc.) de nagios que nous avons téléchargé et extrait précédemment : /tmp/nagios-xxxx/
On lance le script de préinstallation (il va configurer la compilation et l'installation)
./configure --with-command-group=nagcmd
On se fait une petite capture d'écran de la fin (peut être utile plus tard) :
REMARQUE :
On peut voir que tous les fichiers de nagios seront situés dans des sous répertoires de /usr/local/
Alors que l'installation par apt-get install nagios-x installera les différents composants de nagios dans
les différents répertoires systèmes suivant leur fonction.
L’avantage d’utiliser apt-get pour installer nagios et centreon est que cela limitera les différents
problèmes d’intégration, notamment les problèmes avec NDOutils.
(Le fait que tous les fichiers soient dans /usr/local/ nous facilitera la tâche, notamment pour l’Install de
centreon)
p. 11
FVT
On compile toutes les sources avec make all
On installe nagios avec make install
On installe le script de lancement (init.d) de nagios avec make install-init
On configure les permissions de nagios avec make install-commandmode
On créé des fichiers exemples (les templates) de nagios avec make install-config
(Ces templates sont dans /usr/local/nagios/etc/ pour les activer ou désactiver manuellement -
si on le souhaite- il faudra modifier le fichier de config nagios :
/usr/local/nagios/etc/nagios.cfg)
On installe l'interface web de nagios avec make install-webconf
puis on reboot le serveur web apache avec service apache2 restart
p. 12
FVT
3.4 DEMARRAGE NAGIOS
On vérifie la configuration avec :
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
On ajoute le script de lancement de nagios au démarrage :
update-rc.d nagios defaults
Si on obtient l’erreur suivante : « missing LSB tags and overrides » (pourrais compromettre le
démarrage automatique de nagios et toute commande du type service nagios …),
-On modifie le script de démarrage ainsi :
vi /etc/init.d/nagios
- Puis on rajoute au début du fichier (dessous #!/bin/sh)
### BEGIN INIT INFO
# Provides: nagios
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
-On enregistre
p. 13
FVT
-On re-ajoute nagios au lancement au démarrage de debian avec
update-rc.d nagios defaults
C’est un succès cette fois-ci.
On démarre Nagios avec
service nagios start
p. 14
FVT
3.5 Test Connexion NAGIOS
On lance un navigateur web sur une machine dans le même sous réseau que notre debian avec nagios
lancé puis on entre l’IP de notre serveur nagios suivi de /nagios
user : nagiosadmin password : System2008
(SI INTERNAL ERROR VOIR APRES CAPTURES ECRAN)
p. 15
FVT
SI PROBLEME avec APACHE 500 ERROR vérifiez que toutes les dépendances sont installées
-Si Oui, créez le fichier d'authentification utilisateur nagios (nagiosadmin) et attribuez lui le
MDP (System2008) avec :
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
-Puis redémarrez apache et nagios :
service apache2 restart
service nagios restart
-Si cela ne résout pas l'erreur vérifiez les logs apache :
cat /var/log/apache2/error.log
p. 16
FVT
3.6 Téléchargement, Compilation et Installation des PLUGINS NAGIOS
On remarque que dans Hosts > LocalHost ou un hôte supervisé > view status detail les checks
retournent des erreurs.
En effet, les plugins de Nagios (les services) qui effectuent ces checks ne sont pas installés, nous allons
donc le faire :
On fait pareil que pour nagios core pour télécharger et décompresser les plugins dispos sur le
site de nagios dans « downloads » (Attention à être dans /tmp/)
-On récupère donc le lien de l’archive des plugins
-Puis on télécharge les plugins avec wget, on les extraits avec tar et on se rend dans le dossier
décompressé :
On lance alors la pré-config avec :
./configure --with-nagios-user=nagios --with-nagios-group=nagios
On lance ensuite la compilation avec make all
Puis l'installation avec make install
p. 17
FVT
On relance nagios avec service nagios restart
On retourne sur l’interface web, puis petit à petit, en fonction de la planification des checks,
les services repassent au vert :
p. 18
FVT
IV) NDOUTILS
NDOutils permet la synchronisation entre Nagios et Centreon, la remontée d’informations sur les
hôtes monitorés par Nagios dans l’interface de Centreon :
4.1 Téléchargement et extraction NDOUTILS
On le récupère (le lien) sur le site de centreon car la version de Nagios est boguée :
http://svn.centreon.com/trunk/Patch-NDOutils/
On fait pareil que pour Nagios pour télécharger NDOutils (Attention à être dans /tmp/)
wget -r -np http://svn.centreon.com/trunk/Patch-NDOutils/
(-r permet de télécharger récursivement et -np de ne pas télécharger les parents mais juste ce
qui est après /Patch-NDOutils/)
On navigue jusque dans le dossier téléchargé du site « Patch-… » :
On donne les droits en exécution à tout le monde avec chmod -R 777 ./
On lance la préconfig :
./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql --with-ndo2db-
user=nagios --with-ndo2db-group=nagios --with-mysql-lib=/usr/lib64/mysql/
p. 19
FVT
On vérifie et on se garde un petit screenshot de la configuration :
p. 20
FVT
4.2 Compilation, Installation et Démarrage de NDOUTILS
On lance la compilation des sources avec make all
Il n’y a pas de script d’installation ( pas possible de faire un « make install » par exemple), nous
devons terminer l'installation à la main (On copie les fichiers NDOutils puis les fichiers de
configuration et on donne les droits en exécution à nagios et on le rend propriétaire) :
cp ./src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp ./src/ndo2db-3x /usr/local/nagios/bin/ndo2db
cp ./config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
cp ./config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
chmod 774 /usr/local/nagios/bin/ndo*
chmod 774 /usr/local/nagios/etc/ndo*
chown nagios:nagios /usr/local/nagios/bin/ndo*
chown nagios:nagios /usr/local/nagios/etc/ndo*
p. 21
FVT
On donne les droits en exécution au script de lancement de NDOutils (daemon-init), puis on le
copie (en le renommant ndo2db) dans le dossier avec les autres scripts de lancement de
debian, et on l’ajoute au démarrage :
chmod +x daemon-init
cp daemon-init /etc/init.d/ndo2db
update-rc.d ndo2db defaults
On démarre NDOutils :
service ndo2db start
p. 22
FVT
V) INSTALLATION DE CENTREON
5.1 Téléchargement de CENTREON
On va maintenant télécharger centreon de la même manière que nagios :
http://www.centreon.com/Content-Download/donwload-centreon-monitoring-tools
- On récupère le lien (pour Centreon on peut prendre la dernière version, dernière testée
fonctionnelle : 2.5.1) :
On copie l’adresse du lien de la dernière version stable (clic droit sur le lien > copier l’adresse
du lien) puis on va s’en servir pour télécharger centreon dans notre debian avec wget puis
l’extraire :
On remarque que le fichier est sauvegardé sous « index.php ?id=… », Ce n’est pas grave on
pourra quand même l’extraire.
On l’extrait avec tar –xzf
p. 23
FVT
5.2 Installation de CENTREON
On va lancer le script d’installation, puis répondre à la série de questions concernant la
configuration de notre debian, nagios, les plugins, ndoutils, etc
./install.sh -i
Cela nécessite une bonne connaissance de l’arborescence de nagios en particulier.
Les captures d’écran et commentaire de la procédure vous renseignent donc :
p. 24
FVT
On accepte la licence GPL et on choisit les programmes centreon à installer (oui à tous)
On choisit les dossiers où vont être copiés les fichiers de centreon et on les créé (défauts
recommandés)
p. 25
FVT
On indique où sont situés les modules d’interprétation du langage PERL et des plugins PEAR On indique ensuite le nom d’utilisateur et le groupe de centreon et on les créé (par défaut
recommandé)
p. 26
FVT
On indique ensuite la configuration des utilisateurs du moteur de monitoring (nagios) et du broker (NDOutils)
Puis on va configurer sudo qui permettra à centreon de géré les droits des différents utilisateurs. Et indiquer où se sites les fichier de démarrage de nagios, ainsi que le fichier binaire (exécutable) de
nagios, les emplacements des fichiers de configuration de nagios Et aussi indiquer le dossier de configuration de NDOutils ainsi que son script de lancement
p. 27
FVT
On va ensuite lancer la configuration du serveur apache pour permettre l’affichage de la page web d’administration de centreon et redémarrer apache
p. 28
FVT
On va ensuite installer les modules PERL manquants ou en mettre à jour
p. 29
FVT
On indique où les fichiers de centreon doivent être installés (par défaut recommandé)
On installe ensuite le service CentStorage pour les bases de données de centreon et on l’ajoute au
démarrage avec ses niveaux de priorités
p. 30
FVT
On indique où sont situés les binaires de centreon et on lance l’installation du noyau de centreon, ainsi que le script au démarrage et ses niveaux de priorités
On installe les plugins (on choisit leur dossier, etc.)
p. 31
FVT
On renseigne ensuite l’emplacement du programme snmp (utile pour les checks)
L’INSTALLATION DE CENTREON EST MAINTENANT TERMINEE, il ne reste plus qu’à finir la configuration via l’interface web.
p. 32
FVT
5.3 Finalisation de l’installation CENTREON
On se connecte sur l’interface web à travers un navigateur internet d’une machine dans le
même sous-réseau, en tapant dans la barre d’adresse l’IP de notre serveur ou est installé
centreon, suivi de /centreon.
On arrive sur l’interface de configuration de centreon
Toutes les dépendances sont OK
p. 33
FVT
On va configurer l’accès de centreon à nagios en lui indiquant les répertoires ou sont situés
différents composants requis :
Nagios directory : /usr/local/nagios/
Nagiostats binary : /usr/local/nagios/bin/nagiostats
Nagios image directory : /usr/local/nagios/share/images/
On va maintenant configurer l’accès au broker utilisé (NDOutils) :
Ndomod binary (ndomod.o) : /usr/local/nagios/bin/ndomod.o
On va entrer les informations du compte de connexion (admin) de centreon :
Ici je rentre administrateur de partout pour le test (notamment en mot de passe, mais vous pouvez en
choisir un autre)
p. 34
FVT
Ici, Centreon demande le mot de passe super-utilisateur de MySQL (saisi lors de l’installation
des dépendances (System2008), voir capture d’écran).
Ceci lui permettra de créer sa Base de Données « centreon » avec pour nom d’utilisateur
centreon et mot de passe choisi : System2008
Ici centreon nous demande de modifier le fichier de configuration de MySQL afin d’y ajouter la
ligne « innodb_file_per_table=1», sous la section « [mysqld] ».
-On va donc éditer le fichier /etc/mysql/my.cnf :
vi /etc/mysql/my.cnf
-Puis se rendre dans cette section [mysqld]
p. 35
FVT
-Aller jusqu’à * InnoDB et rajouter la ligne « innodb_file_per_table=1» de cette façon
(n’oubliez pas d’enregistrer) :
-On redémarre MySQL :
-On retourne sur l’interface web de centreon puis on clique sur « refresh »
Centreon va maintenant créer et configurer sa Data Base
L’installation et Configuration de Centreon est enfin terminée, on peut cliquer sur finish :
p. 36
FVT
On doit alors se loguer sur l’interface web avec les identifiants du compte admin choisis à
l’étape « 5 – Admin Information » :
On arrive ensuite sur la page d’accueil de l’interface web de centreon :
Retour dans notre terminal, on lance les services Centreon fraîchement configurés puis le
snmp :
service centcore start
service centstorage start
service snmptt start
service snmpd start
on reboot
reboot
p. 37
FVT
5.4 Première utilisation, MANIPULATION
On va maintenant lancer la première synchronisation entre nagios et centreon via NDOutils
Pour cela, une fois connecté à l’interface web de centreon, se rendre dans :
Configuration > Monitoring Engines > Generate
On sélectionne les 3 premières lignes pour créer, vérifier et exporter dans nagios les fichiers
de configuration (hosts.cfg, nagios.cfg…), sans redémarrer nagios.
Puis on clique sur export pour lancer les opérations d’exportation
On redémarre ensuite le plugin NDOutils avec service ndo2db restart
p. 38
FVT
Puis on retourne dans notre interface web pour redémarrer nagios à partir de centreon :
Nos hôtes apparaissent ensuite (seulement notre serveur centreon pour le moment) :
Pour rajouter un hôte on va dans Config > hôtes > Add
Puis une fois ajouté à centreon on va l’exporter dans nagios avec :
Configuration > Monitoring Engines > Generate
Puis on peut cocher toutes les cases et cliquer sur export
REMARQUE : Il peut y avoir un petit temps d’attente avant que les hôtes soient ajoutés à la vue
« hosts » dans Monitoring > Hosts > Hosts