GoldZone Web Hosting

Rédigé par Gaëtan Trellu (goldyfruit)

Outils pour utilisateurs

Outils du site


installation_de_nagios_3.0.x

Installation de Nagios 3.x via les sources.

Nagios™ est une application permettant la surveillance système et réseau. Elle surveille les hôtes et services que vous spécifiez, vous alertant lorsque les systèmes vont mal et quand ils vont mieux. C'est un logiciel libre sous licence GPL.

C'est un programme modulaire qui se décompose en trois parties :

  1. Le moteur de l'application qui vient ordonnancer les tâches de supervision.
  2. L'interface web, qui permet d'avoir une vue d'ensemble du système d'information et des possibles anomalies.
  3. Les plugins, une centaine de mini programmes que l'on peut compléter en fonction des besoins de chacun pour superviser chaque service ou ressource disponible sur l'ensemble des ordinateurs ou éléments réseaux du SI (sources Wikipedia).
Ce tutoriel est en cours de rédaction…

Préparation du système d'exploitation.

L'installation de Nagios à partir des sources nécessite la présence de certains paquets sur le système.
Dans notre cas Nagios sera installé sur une Red Hat EL 5.3 (Tikanga), ce serveur est intégré à un dépôt local Red Hat.

Pour ajouter la source du dépôt local à Yum (gestionnaire de paquet Red Hat), il faut créer un fichier “local.repo” dans le répertoire “/etc/yum.repos.d/”. Ajouter le contenu suivant au fichier “local.repo” :

[base]
name=local
baseurl=http://10.220.1.155/mrepo/rhel5-server-$basearch/RPMS.updates/
gpgcheck=0

[update]
name=local
baseurl=http://10.220.1.155/mrepo/rhel5-server-$basearch/RPMS.updates/
gpgcheck=0

[custom]
name=local
baseurl=http://10.220.1.155/mrepo/rhel5-server-$basearch/RPMS.custom/
gpgcheck=0

Maintenant que le dépôt local a été ajouté, il faut mettre Yum à jour pour lui indiquer un changement de source.
Pour mettre Yum à jour il suffit de faire un “update”.

# yum update

Voila, Yum est configuré et prêt à être utilisé !
Comme indiqué plus haut, Nagios nécessite la présence de certains paquets sur le système afin que la compilation de ce dernier se passe correctement (sans erreurs).

La liste des paquets à installer via Yum (l'installation d'Apache et MySQL doit être déjà effectuée).

# yum install fping gd-devel libmcrypt libpng-devel net-snmp-perl net-snmp-utils openssl096b perl-config-inifiles perl-crypt-des perl-digest-hmac perl-digest-sha1 perl-gd perl-net-snmp perl-rrdtool perl-snmp-simple perl-socket6 perl-time-hires rrdtool php-mysql php-pear php-snmp php-ldap php-gd libgd2 libpng perl-compress-zlib perl-net-nerver perl-compress-zlib perl-uri perl-libwww-perl perl-sgmlspm perl-dbi perl-rrd-simple perl-string-crc32 perl-html-parser perl-bsd-resource perl-html-template perl-html-tagset perl-date-manip

L'installation de tout ces paquets peut prendre plusieurs minutes…
Maintenant que l'installation des paquets est terminée nous pouvons passer à la création de l'utilisateur système “nagios”.

# adduser nagios

Création du répertoire ou sera installé Nagios.

# mkdir /usr/local/nagios

Changement du propriètaire pour le répertoire créé ci-dessus, il appartiendra désormais à l'utilisateur “nagios”.

# chown nagios:nagios /usr/local/nagios

Création du groupe système “nagcmd” qui sera nécessaire à l'exécution des commandes Nagios.

# groupadd nagcmd

On ajoute le groupe “nagcmd” au groupe “apache” pour des raisons de droits.

# usermod -G nagcmd apache

On ajoute le groupe “nagcmd” au groupe “nagios” toujours pour des raisons de droits.

# usermod -G nagcmd nagios

Compilation de Nagios.

Avant compilation, il nous faut les sources Nagios (si si c'est vrai !).
Elles sont disponibles à l'adresse suivante :

Une fois les sources envoyées sur le serveur, il faut les décompresser à l'aide de l'outil “tar”.

# tar zxvf nagios-3.1.0.tar.gz

Nous sommes enfin prêts pour la compilation de Nagios.
Pour se faire, voici la ligne de compilation qui permet de définir certains paramètres comme le répertoire d'installation, l'utilisateur, le groupe, le chemin vers la librairie GD, etc… :

./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios --with-nagios-user=nagios \
--with-nagios-group=nagios --with-command-group=nagcmd --with-default-perfdata --with-gd-lib=/usr/lib --with-gd-inc=/usr/include \ 
--enable-embedded-perl --with-perlcache

ATTENTION : Le “\” en fin de ligne (première et seconde) signifie que c'est un retour à la ligne, il est donc important de ne pas l'inclure dans la ligne de commande !!

Une fois la préparation à la compilation terminée, il est enfin possible de compiler Nagios !!
L'étape de compilation se déroule en plusieurs fois :

  • Compilation, cette étape peut-être vraiment longue alors patience !
# make all
  • Installation, cette étape installe les fichiers dans le répertoire indiqué lors de la configuration de la compilation (/usr/local/nagios/).
# make install
  • Installation du script de démarrage Nagios, cette étape permet de générer un script de gestion de Nagios (arrêt|démarrage|redémarrage).
# make install-init
  • Installation des commandes CGI, cette étape consiste à installer les commandes Nagios.
# make install-commandmode
  • Installation des fichiers de configuration de Nagios, cette étape consiste à installer les fichiers de configuration Nagios.
# make install-config

Nagios est maintenant installé sur le serveur.

Installation des plugins Nagios.

Tout comme Nagios, nous allons installer les plugins à partir des sources.
Les sources de ces plugins sont disponibles à l'adresse suivante :

Une fois les sources envoyées sur le serveur, il faut les décompresser à l'aide de l'outil “tar”.

# tar zxvf nagios-plugins1.4.14.tar.gz

Nous sommes prêts pour la compilation des plugins Nagios.
Pour se faire, voici la ligne de compilation qui permet de définir certains paramètres comme le répertoire d'installation de ces plugins, l'activation des modules Perl, etc… :

./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --enable-perl-modules

L'étape de compilation se déroule en deux fois :

  • Compilation, cette étape peut-être assez longue alors patience !
# make all
  • Installation, cette étape installe les plugins dans le répertoire indiqué lors de la configuration de la compilation (/usr/local/nagios/).
# make install

Configuration de Nagios pour Apache.

Nagios possédant une interface web, il est nécessaire de configurer Apache pour lui créer un virtualhost en rapport avec Nagios.
Lors de l'installation de Nagios (make install-config), un virtualhost est automatiquement créé dans “/etc/httpd/conf.d/”, il a pour nom “nagios.conf” (si le fichier n'existe pas, on le créé).

Le fichier “nagios.conf” en question :

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
 
<Directory "/usr/local/nagios/sbin">
        Options ExecCGI
        AllowOverride None
        Order allow,deny
        Allow from all
        AuthName "Accès à l'inferface de Nagios."
        AuthType Basic
        AuthUserFile /usr/local/nagios/etc/htpasswd.users
        Require valid-user
</Directory>
 
Alias /nagios /usr/local/nagios/share
 
<Directory "/usr/local/nagios/share">
        Options None
        AllowOverride None
        Order allow,deny
        Allow from all
        AuthName "Nagios Access"
        AuthType Basic
        AuthUserFile /usr/local/nagios/etc/htpasswd.users
        Require valid-user
</Directory>

Le virtualhost indique qu'une authentification est nécessaire pour accéder à l'interface web.
Un fichier “htpasswd.users” est donc à créer à l'aide de la commande “htpasswd”, il contiendra le ou les utilisateurs autorisée à se connecter à l'interface.

Création du fichier :

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Un mot de passe pour l'utilisateur “nagiosadmin” sera demandé.

Vérification de la configuration de Nagios.

Une commande permet de vérifier que la configuration de Nagios soit correcte (elle le sera forcement étant donné que nous n'avons pas encore modifié les fichiers de configuration).

Commande à exécuter :

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Résultat :

Nagios 3.1.0
Copyright (c) 1999-2009 Ethan Galstad (http://www.nagios.org)
Last Modified: 10-21-2007
License: GPL

Reading configuration data...

Running pre-flight check on configuration data...

Checking services...
        Checked 80 services.
Checking hosts...
        Checked 26 hosts.
Checking host groups...
        Checked 1 host groups.
Checking service groups...
        Checked 0 service groups.
Checking contacts...
        Checked 3 contacts.
Checking contact groups...
        Checked 2 contact groups.
Checking service escalations...
        Checked 0 service escalations.
Checking service dependencies...
        Checked 0 service dependencies.
Checking host escalations...
        Checked 0 host escalations.
Checking host dependencies...
        Checked 0 host dependencies.
Checking commands...
	Checked 48 commands.
Checking time periods...
	Checked 5 time periods.
Checking extended host info definitions...
	Checked 26 extended host info definitions.
Checking extended service info definitions...
	Checked 13 extended service info definitions.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

La configuration est donc correcte, nous pouvons désormais lancer Nagios.

Lancement de Nagios.

Maintenant que tout semble correcte, le service Nagios doit-être lancé.
La syntaxe est la suivante :

service nagios restart

Une fois le service Nagios lancé, il est nécessaire de relancer le service Apache étant donné qu'un fichier de configuration à été ajouté dans “/etc/httpd/conf.d/” ! La syntaxe est la suivante :

service httpd restart

L'installation de Nagios est terminée, il ne reste plus qu'à ajouter les hôtes et les services à monitorer.

installation_de_nagios_3.0.x.txt · Dernière modification: 2011/01/05 16:05 (modification externe)