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 :
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.
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…
@Renaud
C’est un oubli de ma part, la base de donnée sert à Icinga Web. J’ai aussi pris l’habitude de l’installer pour pouvoir utiliser Centreon avec Nagios.
@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+
@Renaud
Merci pour la remarque, j’ai rajouté une précision dans mon article.
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.
@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.
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.