Actions sur le document
Installation de Nagios sous Fedora
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 :

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.

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,kwa29authorized_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
