Installation d’Icinga

Cherchant des alternatives à Nagios, je suis tombé sur le projet Icinga. Icinga est un fork de Nagios, vous trouverez sur leur site le « pourquoi du fork ». J’ai donc installé Icinga sur une Debian 5.0.

Les pré-requis

On commence par installer les pré-requis :

apt-get install apache2 build-essential libgd2-xpm-dev
apt-get install libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev
apt-get install mysql-server mysql-client libdbi0 libdbi0-dev libdbd-mysql

Installation d’Icinga

Maintenant, on passe à l’installation d’Icinga, j’ai choisi de l’installer avec les IDOutils. Les IDOutils sont nécessaires dans le cas où on veut utiliser Icinga-web en plus, si ce n’est pas votre cas vous n’aurez pas besoin de MySQL. Vous trouverez sur le site d’Icinga la documentation pour l’installer sans les IDOutils. On doit commencer par créer un compte utilisateur pour Icinga :

useradd -m icinga
passwd icinga

On crée un groupe icinga-cmd auquel on ajoute les utilisateurs icinga et www-data :

groupadd icinga-cmd
usermod -a -G icinga-cmd icinga
usermod -a -G icinga-cmd www-data

On télécharge Icinga sur sourceforge :

wget http://sourceforge.net/projects/icinga/files/icinga/1.0.1/icinga-1.0.1.tar.gz/download

Ensuite on extrait l’archive, on rentre dans le répertoire « Icinga-1.0.1 » et on lance le couple configure/make.

tar xvf ./icinga-1.0.1.tar.gz
cd icinga-1.0.1
./configure --with-command-group=icinga-cmd --enable-idoutils
make all
make fullinstall

A la place de « make fullinstall », on peut utiliser les différentes commandes suivantes :

make install 
make install-init 
make install-config 
make install-commandmode 
make install-idoutils

On édite le fichier de conf de Icinga pour lui dire de charger idomod à son lancement :

vi /usr/local/icinga/etc/icinga.cfg

Il faut décommenter la ligne 249 qui doit correspondre à celle là :

broker_module=/usr/local/icinga/bin/idomod.o config_file=/usr/local/icinga/etc/idomod.cfg

Nous devons ensuite créer la base de donner pour les IDOutils :

mysql -u root -p
CREATE DATABASE icinga;

On ajoute un utilisateur mysql Icinga et on lui donne les droits sur la base de donnée Icinga :

GRANT USAGE ON *.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;
GRANT SELECT , INSERT , UPDATE , DELETE ON icinga.* TO 'icinga'@'localhost';
FLUSH PRIVILEGES ;

On quitte Mysql pour le moment.

Nous sommes toujours dans notre répertoire « Icinga-1.0.1 », nous devons nous rendre dans un sous-répertoire et lancer une commande pour créer la structure de la base de donnée Icinga :

cd ./module/idoutils/db/mysql/
mysql -u root -p icinga < mysql.sql
cd /usr/local/icinga/etc/
mv idomod.cfg-sample idomod.cfg
mv ido2db.cfg-sample ido2db.cfg

Nous devons ensuite éditer le fichier de configuration de la base de données utilisé par le module IDOutils.

vi /usr/local/icinga/etc/ido2db.cfg

Dans notre cas, nous devons vérifier que les paramètre suivants soient corrects :

db_servertype=mysql
db_port=3306
db_user=icinga
db_pass=icinga

On retourne à la racine de notre répertoire « Icinga-1.0.1 » et on lance la commande « make install-webconf » qui installera la configuration Apache pour l’interface web.

On rajoute un compte pour avoir accès à l’interface web,

htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin

On doit ensuite redémarrer apache pour que la nouvelle configuration soit prise en compte.

/etc/init.d/apache2 restart

Installation des nagios plugins

Comme pour Nagios, nous devons installer les nagios-plugins, on les récupère sur le site de Nagios. On sort de notre répertoire « Icinga-1.0.1 ».

wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz

On extrait ensuite les nagios-plugins :

tar xvf nagios-plugins-1.4.14.tar.gz
cd ./nagios-plugins-1.4.14

On configure et on installe les plugins :

# On précise à ./configure d'utiliser comme répertoire, le répertoire d'installation d'Icinga
./configure --prefix=/usr/local/icinga --with-nagios-user=icinga
make
make install

On met en place le lancement automatique d’Icinga :

update-rc.d icinga defaults
update-rc.d ido2db defaults

On essaye de lancer le tout :

/etc/init.d/ido2db start
/etc/init.d/icinga start

Normalement si vous avez tout bien suivi en allant à l’adresse http://mon-serveur/icinga, vous devriez voir l’interface suivante :
Interface d'Icinga

Conclusion

Comme on pouvait s’y attendre l’installation d’Icinga ne perturbera pas ceux qui ont déjà installé Nagios, on a quasi les mêmes étapes. Cependant, je trouve que l’installation d’Icinga est plus simple que celle de Nagios sur certains points comme l’intégration des IDOutils ou encore la commande « make full-install ». Petit plus pour Icinga, l’interface est beaucoup plus soigné. Par contre, j’ai l’impression qu’Icinga est encore très dépendant du projet Nagios, je ne sais pas si c’est une bonne ou une mauvaise chose.

10 commentaires

  1. C’est bien beau de mettre en place une bdd et de permettre à Icinga d’y écrire, mais encore faut-il en expliquer son utilité, si elle en a une…

  2. @Alexis
    Ok pas de soucis, mais ce serais cool de rectifier le tir, soit en supprimant la partie bdd, soit en expliquant le pourquoi de l’installation de la bdd.

    C’est le genre de truc qui peut facilement embrouiller l’esprit de ceux qui installent pour la première fois Icinga sans avoir auparavant touché à Nagios.

    A+

  3. De rien…
    Sinon, tu as reussi à installer icinga-web?
    Je trouvais deja Centreon mal foutu à ce niveau, mais alors Icinga-web est encore bien pire, une horreur, tout est à faire manuellement, s’ils veulent concurrencer Nagios, va falloir se bouger un peu…
    Perso j’ai laissé tombé mais si tu as réussi, je veux bien quelques conseils.

  4. @Renaud

    J’ai réussi à installer Icinga-web, mais j’ai pas mal galéré. T’as jeté un oeil à mon article sur Icinga-web?

    Tu bloques à quel endroit? Si ça te gêne pas on continu la convers sur mon article sur Icinga-web.

  5. Ok, autant pour moi, je n’avais pas vu ton tuto, je vais le suivre et si besoin on en reparle, pour l’instant je n’ai essayé qu’à partir de la doc officiel et c’est vraiment mal foutu!

    Merci pour ces docs.

Répondre à Renaud Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.