MONITORING - Installation Nagios et Centreon

De PedroWiki

Introduction

Le monitoring consiste à surveiller l'état du matériel, des machines ou des services hébergés par ces machines (services TCP ou services locaux des machines).

De nombreux logiciels existent pour "monitorer" un parc de serveur:

  • ZenOSS
  • Zabbix
  • Nagios
  • ...

Notre choix s'orientera vers Nagios, pour plusieurs raisons:

  • les compétences internes
  • le caractère fiable et la reconnaissance de Nagios dans le monde de l'industrie et de l'hébergement.

Cet article décrit:

  • l'installation de Nagios
  • l'installation d'un frontend (interface graphique de configuration "clicodrome"): Centreon

Serveur

Dans un premier temps les tests sont fait sur une machine virtuelle hébergée sur VMWare Workstation.

Dans le cas où ces tests seraient concluants, il est envisagé d'exporter cette machine virtuelle depuis VMWare Workstation pour l'importer dans VMWare ESX pour une mise en production effective.

  • OS: Ubuntu 8.04 LTS

Méthode

Téléchargements

30px Attention : Les URL pointées ci dessous sont valables au moment de la rédaction de cet articles, mais auront peut-être changé d'ici peu, se référer aux sites des éditeurs dans ce cas là.

Archive pour Nagios 3.0.3

Archive pour les plugins Nagios

Le site de Nagios

Le site de Centreon

Installation préalable de packages

# apt-get update
# apt-get install php5
# apt-get install rrdtool
# apt-get install gcc make

Nagios

Base

  • Décompression de l'archive dans /root :
# tar xvzf nagios-3.0.3.tar.gz
# cd nagios-3.0.3
  • Préparation de la compilation:
# ./configure
  • Problèmes pour la configuration du makefile:
# apt-get install build-essential
# apt-get install libgd2-xpm KO
# apt-get install libgd2-xpm-dev OK
  • Configuration du système:
# useradd nagios
# passwd nagios choisir un mot de passe
# groupadd nagios
# usermod -G nagios nagios
# groupadd nagcmd
# usermod -G nagcmd nagios
# usermod -G nagcmd www-data
  • Configuration du makefile:
# ./configure --with-command-group=nagcmd
  • Compilation de Nagios:
# make all
# make install
# make install-init
# make install-config
# make install-commandmode
# make install-webconf
  • Configuration minimale:
# vi /usr/local/nagios/etc/objects/contacts.cfg remplacement de l'adresse mail pour nagiosadmin
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin ajout de l'admin nagios dans le htpasswd
  • Prise en compte de la configuration web:
# /etc/init.d/apache2 restart

Plugins

  • Décompression de l'archive dans /root :
# tar xvzf nagios-plugins-1.4.12.tar.gz
# cd nagios-plugins-1.4.12
  • Configuration du makefile:
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
  • Compilation:
# make
# make install

Commun

  • Lancement de nagios à l'init du système:
# ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
  • Vérification de la syntaxe des fichiers de configuration nagios (vides pour l'instant):
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  • Installation d'un MTA pour permettre à nagios d'envoyer des mails à nagiosadmin (jpedrono@insa-rennes.fr):
# apt-get install mailx
  • Démarrage de nagios:
# /etc/init.d/nagios start
  • On dispose à ce moment là d'un nagios fonctionnel accessible sur http://<ip du serveur>/nagios/.

Centreon

  • Dans /root:
# tar xvzf centreon-1.4.2.7.tar.gz
# cd centreon-1.4.2.7
  • Lancement de l'assistant d'installation:
# bash ./install.sh
  • Informations fournies:
    • Désignation /usr/local/nagios
    • Désignation /usr/local/nagios/etc
    • Désignation /usr/local/nagios/var
    • Désignation /usr/local/nagios/libexec
    • Désignation /usr/local/nagios/bin
    • Désignation /usr/local/nagios/share/images
    • Chemin d'installation /usr/local/centreon
    • Désignation du fichier des sudoers (/etc/sudoers)
    • Demande du dossier d'installation du module RRD (recherche de RRDs.pm):
# apt-get install librrdp-perl KO
# apt-get install librrds-perl OK
=> Désignation de /usr/lib/perl5 
    • Désignation du binaire rrdtool: /usr/bin/rrdtool
    • Désignation du chemin du binaire mail: /usr/bin/mail
    • Désignation du chemin de PEAR: (recherche de PEAR.php)
# apt-get install php-pear KO!!!
=> Recherche d'infos sur internet: Howto d'installation d'Oreon sur debian
# pear upgrade DB
# pear upgrade PEAR
# pear install Date DB_DataObject Numbers_Roman HTML_Common HTML_QuickForm HTML_QuickForm_advmultiselect Archive_Tar Console_Getopt HTTP Image_Color Image_GraphViz Mail Mail_Mime Net_SMTP Net_Socket Net_Ping XML_RPC PEAR_PackageFileManager
=>Désignation du chemin de PEAR: /usr/share/php 
    • Déroulement correct du script d'installation
    • Désignation du chemin pour snmp: (recherche de /etc/snmp/)
# apt-get install php5-snmp KO
# apt-get install snmp KO
# apt-get install snmpd OK
    • Désignation du user pour la cron centreon : nagios
    • Connexion sur http://<ip du serveur>/centreon/
    • Redirection automatique sur http://<ip du serveur>/centreon/install/setup.php (script d'installation)
      • Nagios user/group : nagios/nagios
      • Apache user/group : www-data/www-data
30px Attention : CENTREON S'ATTEND A TROUVER DU NAGIOS 2.X MAXI!
      • Pb: pas de GD chargé
# apt-get install php5-gd
# apache2ctl graceful OK
      • Pb: pas de ldap chargé
# apt-get install php5-ldap
# apache2ctl restart OK
      • Pb avec droits d'écriture de www-data dans les dossiers de nagios:
# chown -R www-data /usr/local/nagios/etc (au lieu de nagios)
# chown -R www-data /usr/local/nagios/libexec OK
      • Pb: manque SOAP
# apt-get install php-soap
# apache2ctl graceful OK
      • Centreon database name: c_db
      • Centreon Data Storage database name: cds_db
      • Database password: centreon
      • Oreon admin: oreonadmin/oreon
      • Paramétrage ldap
      • Problèmes de droits sur les sous dossiers de /usr/local/centreon:
# chown -R www-data: /usr/local/centreon/www/
# chmod 755 /usr/local/centreon/www/oreon.conf.php
# chown -R www-data: /usr/local/centreon/ODS OK
  • Première connexion à Centreon: KO
Fatal error: Smarty error: unable to write to $compile_dir '/usr/local/centreon/GPL_LIB/SmartyCache/compile'. Be sure $compile_dir is writable by the web server user. in /usr/local/centreon/GPL_LIB/Smarty/libs/Smarty.class.php on line 1095
# chown -R www-data: /usr/loca/centreon/GPL_LIB OK