Outils pour utilisateurs

Outils du site


systeme:nagios_oreon_et_mon

Ressources :

1. Principes du monitoring

Le principe d'outils de monitoring tels que Nagios ou Mon consiste à détecter des situations ou événements particuliers, et prendre des décisions en conséquences (principalement donner l'alerte). Un tel outil enregistre en général les événements, mais pas les mesures même qui ont permis de déclencher les événements, d'où une symbiose naturelle avec Cacti par exemple.

Les fonctions que l'on est en droit d'attendre :

  • Pouvoir recenser un parc informatique (serveurs, postes de travail, routeurs, switches, etc) et le ranger de manière au minimum “groupée” (voire hiérarchique)
  • Pouvoir associer une batterie de tests précis à un groupe de machines
  • Pouvoir configurer le test, sa période de pertinence et sa sensibilité suivant le groupe surveillé
  • Pouvoir établir des relations de dépendances entre les tests pour minimiser les alertes
  • Pouvoir concevoir un test spécifique et l'intégrer facilement
  • Pouvoir configurer une action (alerte, etc) en fonction du groupe et du test
  • Pouvoir configurer une répétition d'action sur une panne persistante
  • Pouvoir modifier la configuration du monitoring sans le perturber
  • Pouvoir consulter l'historique des événéments

Les outils plus sophistiqués comme Nagios rajoutent une gestion de droit et une hiérarchie d'utilisateurs afin de modéliser ce qu'il peut se passer dans un système de maintenance classique à 2 ou 3 niveaux avec les mécanismes standard d'escalade.

2. Installation de Nagios

Pour installer Nagios 2, rien de plus simple avec Debian Etch:

# aptitude install nagios2

Si votre niveau de configuration ne vous l'affiche pas par défaut, configurez explicitement l'installeur pour obtenir un compte administrateur par défaut :

# dpkg-reconfigure nagios2-common

Le compte administrateur est donc nagiosadmin et l'outil automatiquement en ligne à l'adresse http://localhost/nagios2/.

Vous devez alors éditer les fichiers de configuration pour créer une situation intéressante. Vous allez monitorer l'ensemble des machines de votre salle (exemple: sm1-1..50.linux ou 10.42.17.1-50), en surveillant en particulier ces services :

  • SSH
  • MySQL
  • portmap

On utilise traditionnellement des fichiers de configuration distincts pour les descriptions des machines (hosts.cfg, hostgroups.cfg et services.cfg notamment), pensez à les activer dans nagios.cfg. Vous avez des modèles pour chacun d'eux dans le répertoire conf.d/, ils sont vos meilleurs repères !

3. Installation d'Oreon

Son installation est assez lourde (12 étapes dont une moitié pénible), mais faisable.

Si vous décompressez l'archive oreon-1.4.tar.gz en tant que /var/www/oreon, alors il suffit de déclarer un nouvel alias, par exemple en créant le fichier /etc/apache2/con.f/oreon avec ce contenu :

Alias /oreon /var/www/oreon/www

Vous aurez besoin de quelques dépendances :

# aptitude install php4-gd php4-ldap php-pear

Rechargez Apache. Vous devriez alors pouvoir aborder l'interface d'installation en suivant le lien http://localhost/oreon/. Recherchez les informations demandées (utilisateurs/groupes Unix et quelques chemins) et fournissez-les.

Vous devrez ajuster les droits de la plupart des fichiers de configuration de Nagios pour qu'ils soient modifiés par Oreon. Comme nous n'utilisons pas suPHP, le mécanisme de sécurité est discutable mais simple, il suffit que l'utilisateur Apache soit propriétaire de ces fichiers et répertoires. C'est ce qu'Oreon vous proposera, avec d'autres modifications moins intelligentes mais auxquelles vous obtempérerez (en râlant bien sûr !).

Note: il y a un bug sur la détection du chemin de PEAR. Créez un fichier www/install/installoreon.conf.php avec ce contenu :

<?php
$conf_installoreon['pear_dir'] = '/usr/share/php';
?>

Note (bis): Oreon réclame de nombreuses dépendances installables uniquement via Perl, vous pouvez télécharger leur liste pour contourner le manque de copier/coller entre Qemu et son hôte.

4. Mon

Il s'agit d'un moniteur des plus simples mais aussi extrêmement efficace. Il utilise un simple fichier de configuration, mais pour peu que l'on utilise un préprocesseur quelconque on peut facilement gérer des centaines d'équipement.

Mon est écrit en Perl et s'installe de manière triviale :

# aptitude install mon

Mon constitue également une bonne illustration de ce que l'on peut attendre d'un tel outil. Voici un exemple de configuration :

hostgroup allservers
myportal.com
mymail.com

hostgroup webservers
myportal.com

watch allservers
service ping
interval 30s
monitor fping.monitor
period wd {Sun-Sat}
alertevery 1h
alertafter 2
alert mail.alert admin@mycompany.com
upalert mail.alert admin@mycompany.com
service ssh
interval 5m
monitor telnet.monitor -p 22 -t 60 -l /^SSH-2\.0-OpenSSH_.*/
depend allservers:ping
period wd {Sun-Sat}
alertevery 1h
alert mail.alert admin@mycompany.com
upalert mail.alert admin@mycompany.com

watch webservers
service http
interval 1m
monitor http.monitor
depend allservers:ping
period wd {Sun-Sat}
alert mail.alert admin@mycompany.com
upalert mail.alert admin@mycompany.com
systeme/nagios_oreon_et_mon.txt · Dernière modification : 2009/03/14 22:55 de 127.0.0.1