Outils personnels
Vous êtes ici : Accueil Blog Installation de Nagios sous Fedora
Navigation
 
Actions sur le document

Installation de Nagios sous Fedora

Filed Under:

Installation et configuration de Nagios sous Fedora

Présentation

Voici l’étendue des possibilité de monitoring apportée par Nagios :


-  Surveillance des services réseaux (SMTP, POP3, HTTP, NNTP, PING, etc.)
-  Surveillance des ressources des hôtes (charge processeur, utilisation des disques, etc.)
-  Système simple de plugins permettant aux utilisateurs de développer facilement leurs propres vérifications de services.
-  Parallélisation de la vérifications des services.
-  Possibilité de définir la hiérarchie du réseau en utilisant des hôtes parents , ce qui permet la détection et la distinction entre les hôtes qui sont à l’arrêt et ceux qui sont injoignables.
-  Notifications des contacts quand un hôte ou un service a un problème et est résolu (via email, pager, ou par méthode définie par l’utilisateur)
-  Possibilité de définir des gestionnaires d’évènements qui s’exécutent pour des évènements sur des hôtes ou des services, pour une résolution des problèmes pro-active
-  Rotation automatique des fichiers log
-  Support pour l’implémentation de la surveillance des hôtes de manière redondante
-  Interface web optionnelle, pour voir l’état actuel du réseau, notification et historique des problèmes, fichiers log, etc.

Principe de fonctionnement

Théorie des plugins

Contrairement à beaucoup d’autres outils de supervision, Nagios ne dispose pas de mécanisme interne pour vérifier l’état d’un service, d’un hôte, etc. A la place, il utilise des programmes externes appelés plugins . En fonction de la configuration définie par l’administrateur, Nagios, qui n’est un fait qu’un noyau (core), exécute les plugins et analyse les résultats obtenus.

Voici comment on peut schématiser le fonctionnement de base :

Figure 1.1 : Illustration du principe de fonctionnement de base de Nagios

Concrètement, comme le montre ce schéma, il est possible d’effectuer des tests de toutes sortes sur la machine Nagios (fonctionnement de services, espace disque, charge, ...). On peut également effectuer des tests sur des machines distantes, mais dans la mesure où il s’agit de test simples, c’est-à-dire par exemple ping. En effet, on ne sait pas, à priori, tester l’espace disque d’une machine distante de manière simple.

Fonctionnalités avancées

Comment effectuer des tests avancés sur un hôte distant (ex : espace disque) ? Comment surveiller un réseau à distance, par exemple via internet ? Est-il possible, dans ce cas, de trouver une solution pour éviter d’avoir à ouvrir un nouveau port sur le firewall, en entrée du réseau distant ?

La réponse : nrpe et nsca

La première réponse apporté par le concepteur de Nagios est nrpe : Nagios Remote Plugin Executor. Il s’agit en fait d’un plugin à part entière, mais qui a la particularité de permettre l’exécution d’un autre plugin, cette fois-ci, sur la machine distante. Ce système utilise le démon nrpe, installé au préalable sur la machine distante. Le plugin check_nrpe va permettre à la machine Nagios d’envoyer l’instruction au démon nrpe d’exécuter un test avancé en local sur la machine distante.

Cependant, nrpe constitue une méthode de surveillance dite active , c’est-à-dire que l’initiateur et ordonnanceur des tests est la machine Nagios. Une autre solution envisageable est la méthode dite passive . Dans ce cas, ce n’est plus la machine Nagios qui est à l’origine des tests. Un client nsca (Nagios Service Check Acceptor) est installé, configuré et lancé sur chaque hôte distant, de sorte à envoyer spontanément à la machine Nagios, exécutant le démon nsca, des résultats de tests. Nagios pourra dès lors voir ces résultats quand il le souhaitera.

Cette méthode présente l’avantage de ne pas avoir à ouvrir de port sur le firewall en entrée de réseau (jonction internet/réseau). En effet, comme les informations sont envoyées par le client nsca vers le démon présent sur la machine Nagios, il suffit juste de permettre le passage des informations dans le sens sortant sur le firewall.

Figure 1.2 : Illustration du principe de fonctionnement de Nagios avec nrpe et nsca

Installation

Comme d'habitude

yum install nagios*

Pour info la liste
=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 nagios-devel            i386       2.4-2.fc4        extras            8.1 k
 nagios-plugins-all      i386       1.4.3-12.fc4     extras            5.1 k
 nagios-plugins-breeze   i386       1.4.3-12.fc4     extras            5.7 k
 nagios-plugins-by_ssh   i386       1.4.3-12.fc4     extras             17 k
 nagios-plugins-dhcp     i386       1.4.3-12.fc4     extras             16 k
 nagios-plugins-dig      i386       1.4.3-12.fc4     extras             16 k
 nagios-plugins-disk     i386       1.4.3-12.fc4     extras             20 k
 nagios-plugins-disk_smb  i386       1.4.3-12.fc4     extras            7.8 k
 nagios-plugins-dns      i386       1.4.3-12.fc4     extras             17 k
 nagios-plugins-dummy    i386       1.4.3-12.fc4     extras             11 k
 nagios-plugins-file_age  i386       1.4.3-12.fc4     extras            6.2 k
 nagios-plugins-flexlm   i386       1.4.3-12.fc4     extras            7.3 k
 nagios-plugins-fping    i386       1.4.3-12.fc4     extras             17 k
 nagios-plugins-hpjd     i386       1.4.3-12.fc4     extras             16 k
 nagios-plugins-http     i386       1.4.3-12.fc4     extras             24 k
 nagios-plugins-icmp     i386       1.4.3-12.fc4     extras             14 k
 nagios-plugins-ide_smart  i386       1.4.3-12.fc4     extras             13 k
 nagios-plugins-ifoperstatus  i386       1.4.3-12.fc4     extras            9.6 k
 nagios-plugins-ifstatus  i386       1.4.3-12.fc4     extras            8.9 k
 nagios-plugins-ircd     i386       1.4.3-12.fc4     extras            7.5 k
 nagios-plugins-ldap     i386       1.4.3-12.fc4     extras             15 k
 nagios-plugins-load     i386       1.4.3-12.fc4     extras             14 k
 nagios-plugins-log      i386       1.4.3-12.fc4     extras            6.8 k
 nagios-plugins-mailq    i386       1.4.3-12.fc4     extras            9.5 k
 nagios-plugins-mrtg     i386       1.4.3-12.fc4     extras             13 k
 nagios-plugins-mrtgtraf  i386       1.4.3-12.fc4     extras             13 k
 nagios-plugins-nagios   i386       1.4.3-12.fc4     extras             14 k
 nagios-plugins-nt       i386       1.4.3-12.fc4     extras             17 k
 nagios-plugins-ntp      i386       1.4.3-12.fc4     extras            9.6 k
 nagios-plugins-nwstat   i386       1.4.3-12.fc4     extras             19 k
 nagios-plugins-oracle   i386       1.4.3-12.fc4     extras            7.3 k
 nagios-plugins-overcr   i386       1.4.3-12.fc4     extras             15 k
 nagios-plugins-pgsql    i386       1.4.3-12.fc4     extras             15 k
 nagios-plugins-ping     i386       1.4.3-12.fc4     extras             18 k
 nagios-plugins-procs    i386       1.4.3-12.fc4     extras             18 k
 nagios-plugins-real     i386       1.4.3-12.fc4     extras             15 k
 nagios-plugins-rpc      i386       1.4.3-12.fc4     extras            8.1 k
 nagios-plugins-sensors  i386       1.4.3-12.fc4     extras            5.2 k
 nagios-plugins-smtp     i386       1.4.3-12.fc4     extras             19 k
 nagios-plugins-snmp     i386       1.4.3-12.fc4     extras             20 k
 nagios-plugins-ssh      i386       1.4.3-12.fc4     extras             14 k
 nagios-plugins-swap     i386       1.4.3-12.fc4     extras             15 k
 nagios-plugins-tcp      i386       1.4.3-12.fc4     extras             20 k
 nagios-plugins-time     i386       1.4.3-12.fc4     extras             14 k
 nagios-plugins-udp      i386       1.4.3-12.fc4     extras             15 k
 nagios-plugins-ups      i386       1.4.3-12.fc4     extras             17 k
 nagios-plugins-users    i386       1.4.3-12.fc4     extras             14 k
 nagios-plugins-wave     i386       1.4.3-12.fc4     extras            5.8 k
Updating:
 nagios                  i386       2.4-2.fc4        extras            2.1 M
 nagios-plugins          i386       1.4.3-12.fc4     extras            138 k
Installing for dependencies:
 fping                   i386       2.4b2-4.fc4      extras             42 k

Transaction Summary
=============================================================================
Install     49 Package(s)
Update       2 Package(s)
Remove       0 Package(s)
Total download size: 2.9 M

Configuration

En premier lieu il nous faut renommer les fichiers dans /etc

rename cfg-sample cfg *.cfg-sample

Passons maintenant au côté Apache

Editer le fichier /etc/httpd/conf.d/nagios.conf et mettre toutes les lignes en commentaires

Ensuite à base de VirtualHost nous pouvons avoir ceci

# Monitoring Nagios
<VirtualHost *:80>
ServerName nagios.kwa29.com
ServerAdmin dcaroff@zindep.com
DocumentRoot /usr/share/nagios/html/
CustomLog /var/log/httpd/access_kwa29_log combined
ErrorLog /var/log/httpd/error_kwa29_log

ScriptAlias /nagios/cgi-bin/ /usr/lib/nagios/cgi-bin/
<Directory /usr/lib/nagios/cgi-bin/>
   AllowOverride AuthConfig
   Options ExecCGI
   Order deny,allow
   Allow from all
   AuthType Basic
   AuthUserFile /etc/nagios/htpasswd
   AuthName "nagios"
   Require valid-user
</Directory>

Alias /nagios/ /usr/share/nagios/html/
<Directory /usr/share/nagios/html/>
   Options None
   AllowOverride AuthConfig
   Order allow,deny
   Allow from all
   AuthType Basic
   AuthUserFile /etc/nagios/htpasswd
   AuthName "nagios"
   Require valid-user
</Directory>
</VirtualHost>

Les directives Auth* permettent de protéger Nagios par mot de passe, pour créer le fichier dans /etc/nagios utiliser la commande suivante :

htpasswd -c htpasswd admin

Vous pouvez tester http://nagios.xxx.com dans mon cas afin de voir si vous accéder à l'interface web.

Pour fixer les permissions aux utilisateurs nous allons éditer le fichier /etc/nagios/cgi.cfg

use_authentication=1(par défaut chez moi)

authorized_for_system_information=admin,kwa29

authorized_for_configuration_information=admin,kwa29

authorized_for_system_commands=admin,kwa29

authorized_for_all_services=admin,kwa29
authorized_for_all_hosts=admin,kwa29

authorized_for_all_service_commands=admin,kwa29
authorized_for_all_host_commands=admin,kwa29

  • authorized_for_system_information : indiquent quels sont les utilisateurs pouvant voir l"état des services.
  • authorized_for_configuration_information : indiquent quels sont les utilisateurs pouvant voir la configuration de serveur Nagios.
  • authorized_for_system_commands : indiquent quels sont les utilisateurs pouvant exécuter des commandes systèmes au travers de l"interface de Nagios.
  • authorized_for_all_services : indiquent quels sont les utilisateurs pouvant voir l"état de tout les services (par défaut, on voit uniquement les services pour lesquels l"utilisateur est une personne de contact).
  • authorized_for_all_hosts : idem que ci-dessus mais pour les hôtes (les machines).
  • authorized_for_all_service_commands : indiquent quels sont les utilisateurs pouvant exécuter des commandes pour tous les services (par défaut, on peut exécuter des commandes uniquement sur les services pour lesquels l"utilisateur est une personne de contact).
  • authorized_for_all_host_commands : idem que ci-dessus mais pour les hôtes (les machines).

 

Premier lancement

[kwa29@SERVEUR nagios]$ /usr/sbin/nagios -v /etc/nagios/nagios.cfg

Nagios 2.4
Copyright (c) 1999-2006 Ethan Galstad (http://www.nagios.org)
Last Modified: 05-31-2006
License: GPL

Reading configuration data...
Error: Command 'check-host-alive' has already been defined
Error: Could not register command (config file '/etc/nagios/minimal.cfg', starting on line 76)

***> One or more problems was encountered while processing the config files...

     Check your configuration file(s) to ensure that they contain valid
     directives and data defintions.  If you are upgrading from a previous
     version of Nagios, you should be aware that some variables/definitions
     may have been removed or modified in this version.  Make sure to read
     the HTML documentation regarding the config files, as well as the
     'Whats New' section to find out what has changed.

On édite le fichier minimal.cfg se trouvant dans  /etc/nagios et on commente tout ce qui ne va pas.

On refait le check si cela passe nous pouvons lancer nagios par

/etc/rc.d/init.d/nagios start

Il ne reste plus qu'à se connecter sur http://nagios.xxx.com

Installation de Oreon


On lance le script install.sh

[root@SERVEUR oreon-1.3-RC1]# ./install.sh

###############################################################################
#                    OREON Project (www.oreon-project.org)                    #
#                            Thanks for using OREON                           #
#                                                                             #
#                                    v 1.3                                    #
#                                                                             #
#                             infos@oreon-project.org                         #
#                                                                             #
#                     Make sure you have installed and configured