Installation d’Icinga-Web

Suite à mon tuto sur l’installation d’Icinga, je vais vous expliquer aujourd’hui comment installer Icinga-web.

Les pré-requis

On commence par installer les dépendances :

apt-get install git-core autoconf 
apt-get install php5 php5-cli php5-mysql php5-xmlrpc php5-xsl php-pear php5-gd php5-ldap

Installation d’Icinga-Web

On télécharge l’archive d’Icinga-web qu’on extrait ensuite :

wget http://sourceforge.net/projects/icinga/files/icinga-web/0.9.1-beta/icinga-web-0.9.1-alpha.tar.gz/download
tar xvf ./icinga-web-0.9.1-alpha.tar.gz

Nous avons besoin de récupérer les API d’Icinga, c’est pour cela que nous avons installé GIT précédemment :

git clone git://git.icinga.org/icinga-api.git

Ensuite, on va dans le répertoire « Icinga-web » et on lance « autoconf » pour générer la configuration de base automatiquement.

cd ./icinga-web
autoconf

Après on passe au fameux couple configure/make. On fait passer en paramètres à « configure » le chemin des API d’Icinga, l’utilisateur web (Apache2) ainsi que l’utilisateur de la base de donnée d’Icinga :

sh configure --prefix=/usr/local/icinga-web --with-web-user=www-data --with-web-group=www-data --with-db-user=icinga --with-db-pass=icinga --with-icinga-api=/root/icinga-api/
make install
make testdeps # Cette commande permet de vérifier que toutes les dépendances soient installées.

Préparation de la base de donnée

On prépare le terrain pour la création de la base de donnée.

mysql -uroot -p

On crée notre base de donnée « icinga-web » et on donne des droits à l’utilisateur MySQL « icinga » sur cette base.

CREATE DATABASE icinga_web;
GRANT SELECT , INSERT , UPDATE , DELETE ON icinga_web.* TO 'icinga'@'localhost';

On quitte MySQL. Nous devons modifier dans le fichier « build.properties » l’utilisateur MySQL qui sera utilisé pour installer la structure de la base de donnée.

vi ./etc/build.properties
db.user=root
db.pass=password

Puis on lance la création de la structure via la commande suivante :

make db-initialize

On peut se connecter à MySQL pour vérifier que les tables aient bien été crées :

use icinga_web;
mysql> show tables;
+----------------------+
| Tables_in_icinga_web |
+----------------------+
| changelog            | 
| nsm_log              | 
| nsm_principal        | 
| nsm_principal_target | 
| nsm_role             | 
| nsm_session          | 
| nsm_target           | 
| nsm_target_value     | 
| nsm_user             | 
| nsm_user_preference  | 
| nsm_user_role        | 
+----------------------+
11 rows in set (0.00 sec)

Configuration d’Apache et de PHP

Nous passons maintenant à la configuration d’Apache et de PHP, nous commençons par rajouter le site « Icinga-web » dans Apache :

vi /etc/apache2/sites-available/default
# Lignes à rajouter dans le fichier default ou dans un nouveau site Apache
Alias /icinga-web /usr/local/icinga-web/pub #Chemin vers l'installation d'Icinga Web
	<directory /usr/local/icinga-web/pub>
		AllowOverride All #Paramètre permettant d'utiliser le .htaccess qui est à la racine du dossier pub
	</directory>

Nous devons désactiver les « magic_quotes_gpc » dans la configuration de PHP, nous éditons donc les 2 fichiers suivants :

vi /etc/php5/apache2/php.ini
vi /etc/php5/cli/php.ini

Dans ces fichiers, nous cherchons la ligne suivante « magic_quotes_gpc = On » et on remplace la valeur « On » par « Off ».

Il ne nous reste plus qu’à charger le module d’url_rewriting d’Apache et à redémarrer Apache.

a2enmod rewrite #charge le module d'url_rewriting
/etc/init.d/apache2 restart

Enfin, nous pouvons nous connecter à l’adresse suivante http://mon-serveur/icinga-web avec le compte « root » et comme mot de passe « password » et vous arriverez sur cet écran :

Icinga-web

32 réflexions au sujet de “Installation d’Icinga-Web”

  1. Ca y est, j’ai remplacé la version alpha par la bêta, et ca roule ^^

    Sinon, aurais tu une doc simple ou un tuto sur l’utilisation de Icinga_web, si j’ai bien compris, ca équivaut à Centreon, c’est ça?

    Répondre
  2. @Renaud

    J’ai prévu de faire une doc sur l’utilisation d’Icinga-web, si tout va bien, elle sera dispo dans le week end.

    J’ai pas encore vu tout ce qu’il était possible de faire dans Icinga-web, mais j’ai l’impression qu’on ne peut pas modifier les fichiers de conf depuis l’interface web (ajout de service, d’host…).

    Tu peux jeter un oeil à la roadmap d’Icinga-web : https://dev.icinga.org/projects/roadmap/icinga-web

    Répondre
  3. Alexis :
    @Renaud
    J’ai prévu de faire une doc sur l’utilisation d’Icinga-web, si tout va bien, elle sera dispo dans le week end.
    J’ai pas encore vu tout ce qu’il était possible de faire dans Icinga-web, mais j’ai l’impression qu’on ne peut pas modifier les fichiers de conf depuis l’interface web (ajout de service, d’host…).
    Tu peux jeter un oeil à la roadmap d’Icinga-web : https://dev.icinga.org/projects/roadmap/icinga-web

    Oui c’est aussi l’impression que j’ai, et aussi, visiblement, il faut installer un addon pour faire des graphe (du genre pnp4nagios), donc en gros, si nos hypothèse sont bonne, Icinga c’est de la merde, au moins Centreon lui, il fait tout seul…

    Tu prend un truc comme Zabbix (très bon produit, assez intuitif à l’utilisation) ou Zenoss (sue je n’ai jamais réussi à utiliser lol), ils savent tout faire de manière native.

    Répondre
  4. @Renaud

    Je pense qu’Icinga est une bonne alternative, mais le projet est encore un peu jeune.

    Pour la configuration via l’interface web, personnellement ça me pose pas de problème de passer par l’édition de fichier.

    Un des (ou le?) développeurs de pnp4nagios fait partie de la team Icinga, on peut donc espérer que pnp4nagios soit intégrer plus tard.

    Répondre
  5. Alexis :
    @Renaud
    Je pense qu’Icinga est une bonne alternative, mais le projet est encore un peu jeune.
    Pour la configuration via l’interface web, personnellement ça me pose pas de problème de passer par l’édition de fichier.
    Un des (ou le?) développeurs de pnp4nagios fait partie de la team Icinga, on peut donc espérer que pnp4nagios soit intégrer plus tard.

    Ok mais alors quelle est l’utilité de Icinga-Web par rapport à Icinga, si j’ai bien compris, il n’apporte rien en plus, non?

    Répondre
  6. @Renaud

    La gestion des utilisateurs est plus poussée et plus simple d’accès.

    L’interface est plus sympa aussi, même si j’ai horreur du double clique.

    Après il y’aura sûrement d’autres nouveautés par la suite.

    Répondre
  7. j’ai suivis des 2 tuto mais en version ubuntu 10.10 server et icinga 1.2.1 et icinga-web 1.2.1 (dernier version) . icinga est fonctionel mais icinga-web pas trés en forme quand je vais sur la page web voici le message:
    -> 500 internal server error!

    === Error ===
    Uncaught exception IcingaApiClassUtilException thrown!

    === Message ===
    Classfile ‘/root/icinga-api//IcingaApi.php’ does not exist!

    === Stacktrace ===
    #0 /usr/local/icinga-web/app/modules/Web/lib/util/IcingaApiClassUtil.class.php(37): IcingaApiClassUtil::includeClassFile(‘/root/icinga-ap…’)
    #1 /usr/local/icinga-web/app/modules/Web/lib/util/IcingaApiClassUtil.class.php(26): IcingaApiClassUtil::checkClass()
    #2 /usr/local/icinga-web/app/modules/Web/config.php(3): IcingaApiClassUtil::initialize()
    #3 /usr/local/icinga-web/app/cache/config/compile.xml_development__033d402eaeb08f42e4e3d5f8474e444805e2c7c6.php(543): require_once(‘/usr/local/icin…’)
    #4 /usr/local/icinga-web/app/modules/AppKit/lib/util/AppKitAgaviUtil.class.php(62): AgaviController->initializeModule(‘Web’)
    #5 /usr/local/icinga-web/app/modules/AppKit/lib/context/AppKitAgaviContext.class.php(46): AppKitAgaviUtil::initializeModule(‘Web’)
    #6 /usr/local/icinga-web/app/modules/AppKit/lib/context/AppKitAgaviContext.class.php(22): AppKitAgaviContext->initializeModules()
    #7 /usr/local/icinga-web/app/cache/config/compile.xml_development__033d402eaeb08f42e4e3d5f8474e444805e2c7c6.php(370): AppKitAgaviContext->initialize()
    #8 /usr/local/icinga-web/pub/index.php(43): AgaviContext::getInstance(‘web’)
    #9 {main}

    je pense que cela vient du lien : Classfile ‘/root/icinga-api//IcingaApi.php’ does not exist!
    car le IcingaAPi.php est dans /root/icinga-api
    mais je ne maitrise pas linux et je ne sais pas ou changé ?
    Merci de ton aide et super tuto

    Répondre

Laisser un commentaire

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