15/11/2024

Supervision

Installation Icinga2 & Icingaweb2 sur Debian 8

I. Présentation

Dans ce tutoriel nous verrons étape par étape l’installation du système de supervision Icinga2 et son interface web Icingaweb2 sur une machine Debian. A vos claviers !

II. Installation des dépôts

Tout d’abord nous allons installer les dépôts afin de pouvoir installer les paquets nécessaires pour icinga2.

wget -O - http://packages.icinga.org/icinga.key | apt-key add -
echo 'deb http://packages.icinga.org/debian icinga-jessie main' >>/etc/apt/sources.list
echo 'deb-src http://packages.icinga.org/debian icinga-jessie main' >>/etc/apt/sources.list
apt-get update

III. Installation Icinga

Ensuite nous allons pouvoir installer le paquet icinga2 et démarrer le service icinga2.

apt-get install icinga2
/etc/init.d/icinga2 start

IV. Installation de la base de données

Si ce n’est pas fait, installez une base de données et son client. Elle servira pour stocker les données générées par le système de supervision. Ici j’ai choisi d’utiliser MySQL sur le même hôte, vous pouvez également utiliser PostgreSQL ou Oracle.

apt-get install mysql-server mysql-client

Vous devrez ensuite configurer le super mot de passe administrateur de la base de données.

installation-icinga-2-debian-01

V. Préparation de la base MySQL

Pour configurer l’enregistrement des données Icinga dans la base MySQL nous allons nous installer le paquet icinga2-ido-mysql, qui correspond à la base de données que j’ai choisie.

apt-get install icinga2-ido-mysql

On vous demandera alors s’il faut activer la fonctionnalité ido-mysql. Vous pouvez décliner la proposition, nous l’activerons juste après.

installation-icinga-2-debian-02

Ensuite nous allons laisser l’installateur se charger de la configuration de la base de données dans MySQL.

installation-icinga-2-debian-03

Suite à cela vous devrez entrer le mot de passe que vous avez défini pour l’administrateur MySQL.

installation-icinga-2-debian-04

Ensuite renseignez un nouveau mot de passe qui sera utilisé par Icinga afin d’accéder à la base et d’enregistrer les données.

installation-icinga-2-debian-05

Une fois la configuration terminée vous pourrez la vérifier dans le fichier ido-mysql.conf. Notez les différents paramètres, ils nous serviront pour la configuration de l’interface web.

cat /etc/icinga2/features-available/ido-mysql.conf

VI. Vérifier et activer les fonctionnalités

Avec la commande icinga2 vous pouvez faire tout un tas de choses, notamment  activer et désactiver des fonctionnalités. Vous pourrez vérifier les fonctionnalités activées avec la commande suivante :

icinga2 feature list

Vous devrez activer les fonctionnalités ido-mysql, pour l’enregistrement des données dans MySQL. Et la fonctionnalité command, qui permettra notamment à l’interface web d’envoyer des commandes à Icinga. Si vous avez besoin d’autres fonctionnalités vous pourrez les activer/désactiver quand vous voulez.

icinga2 feature enable ido-mysql command

Après activation ou désactivation des fonctionnalités, n’oubliez pas de redémarrer le service Icinga2.

/etc/init.d/icinga2 restart

Félicitations, votre système de supervision est opérationnel ! Maintenant on va lui installer une sympathique petite interface web histoire d’avoir un petit aperçu de ce qu’il se passe là-dedans.

VII. Installation et configuration de l’interface Icingaweb2

Avant d’installer l’interface web, assurez-vous d’avoir un serveur web en marche. Si ce n’est pas fait, vous pouvez installer apache2.

apt-get install apache2

Une fois le serveur web prêt, vous pouvez installer le paquet icingaweb2.

apt-get install icingaweb2

Pour pouvoir commencer l’installation, vous devrez générer un token sur le serveur icinga.

icingacli setup token create

Notez bien le token qui viens d’être généré et rendez-vous sur la page http://X.X.X.X/icingaweb2/setup

Vous devriez alors tomber sur cette page, rentrez votre token et cliquez sur suivant.

installation-icinga-2-debian-06

Sur la fenêtre qui suit coché Monitoring et cliquez sur Next.

installation-icinga-2-debian-07

Le système vérifiera avant de lancer l’installation quelques dépendances pour le bon fonctionnement de l’interface.

installation-icinga-2-debian-08

Vous devriez avoir quelques dépendances non satisfaites. Si vous avez :

The PHP config `date.timezone' is not defined.

Changez la timezone d’apache dans le fichier /etc/php5/apache2/php.ini

date.timezone = europe/paris

Vous devriez également avoir quelques dépendances de modules PHP non satisfaites (Imagick et INTL). Installez-les :

apt-get install php5-intl php5-imagick

N’oubliez pas de redémarrer le service apache !

/etc/init.d/apache2 restart

Vous pouvez actualiser la page des dépendances avec le bouton refresh en bas de page, il vous restera normalement deux dépendances en avertissement :

The PHP module PDO-PostgreSQL is missing & The PHP module PDO-PostgreSQL is missing.

Ces modules servent pour l’utilisation de la base de données PostgreSQL. Elles ne sont pas indispensables, nous pouvons les ignorer vu que nous utilisons la base de données MySQL.
Vous pouvez donc passer à la suite. Choisissez votre mode d’authentification.installation-icinga-2-debian-09

Ensuite, configurez l’endroit où seront stockées les préférences des utilisateurs de l’interface.

installation-icinga-2-debian-10

Ici vous devrez paramétrer l’accès à votre base de données MySQL pour que le système y créer une base contenant les paramètres utilisateurs. Utilisez un compte ayant les droits de création de la base. Ici j’ai utilisé l’administrateur de la base de données (root) pour une question pratique. Il est toutefois plus prudent d’utiliser un autre compte, cette connexion sera utilisée pour vérifier les logins des utilisateurs de l’interface :

installation-icinga-2-debian-11

Vous devrez ensuite donner un nom à ces paramètres de connexion.installation-icinga-2-debian-12

Maintenant, créez votre premier utilisateur pour vous connecter à l’interface.installation-icinga-2-debian-13

Ici vous allez paramétrer les différents paramètres de logs. Vous pouvez tout laisser par défaut et modifier les paramètres plus tard via l’interface web.installation-icinga-2-debian-14

Maintenant nous allons configurer la source de données.  installation-icinga-2-debian-15

C’est ici que vous allez renseigner les paramètres du fichier /etc/icinga2/features-available/ido-mysql.conf créé précédemment.installation-icinga-2-debian-16

Si vous avez le message suivant, c’est que vous avez oublié d’activer la fonctionnalité ido-mysql ou que vous avez oublié de redémarrer le service icinga2 suite à son activation.

installation-icinga-2-debian-17

A cette étape, vous définirez l’instance de supervision. Sauf configuration spécifique vous pouvez conserver les paramètres par défaut.installation-icinga-2-debian-18

Enfin, pour la dernière étape on vous propose de protéger vos variables sensibles au travers d’une expression régulière. Toutes les variables correspondantes seront protégées.installation-icinga-2-debian-19 installation-icinga-2-debian-20

Et voilà, si tout s’est bien passé votre interface Icingaweb2 est prête, vous n’avez plus qu’à vous connecter et découvrir ce qu’elle vous propose. Enjoy ! 🙂

author avatar
Cyprien Santana
Geek raisonnable, passionné par le "bidouillage" et les nouvelles technologies. Je viens ici pour partager mes connaissances avec vous ! Je travaille beaucoup sur les réseaux et la sécurité, avec une petite touche supervision. Je viens aussi en tant que lecteur sur IT-Connect pour augmenter mon capital connaissance ;)
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

16 commentaires sur “Installation Icinga2 & Icingaweb2 sur Debian 8

  • Bonjour et merci de tous ces tutos !

    J’avais essayé icinga2 et autre nagios-like mais je ne peux que conseiller d’essayer le fabuleux CENTREON qui a depuis beaucoup évolué et pris son autonomie par rapport à Nagios.

    Un tuto sur son installation sous Debian 7 et 8 est disponible là:
    http://www.sugarbug.web4me.fr/atelier/installations/debian/debian_centreon_26/

    Et sur le site Officiel une version full packagée sous CentOS est téléchargeable sur le site officielle et une grande documentation en français (normal vu que l’équipe est française cocorico).

    Le logiciel est openSource et par rapport à icinga2 et Nagios remonte beaucoup de + graphiques et est entièrement compatible avec les sondes Nagios, SNMP et autre plug-ins.

    L’essayer ,c’est l’adopter.

    PS: Je ne fais pas partie de l’équipe Centreon 😉

    Répondre
    • Bonjour Damien,

      Effectivement il semblerait que les commandes aient changé depuis la publication du tuto. Je fais les modifs rapidement, merci d’avoir remonté l’info 🙂

      A+

      Répondre
    • Bonjour Damien,

      Enfaite ton paquet icinga2 ne dois pas être à jour. Essaie de faire un apt-get dist-upgrade pour le mettre à niveau.
      A+

      Répondre
  • Bonjour,
    Sur Ubuntu je n’ai pu installer apt-get install icingaweb2 mais icinga-web. Mais impossible de lancer la génération du token.

    Répondre
    • Bonjour Lilp,

      Je n’ai pas testé l’installation sur Ubuntu, mais as tu adapté les dépôts pour ta distribution? Tu as du installer l’ancienne version d’icingaweb ce qui explique que tu ne puisse pas généré le token. Regarde sur ce lien http://packages.icinga.org/ubuntu/ pour configurer le dépot icinga pour Ubuntu.

      A+

      Répondre
  • Bonjour,

    Merci pour ce tuto. J’ai tenté de le suivre sur une Debian 8.2 toute fraiche (avec uniquement serveur ssh et utilitaires usuels). Tout se passe bien jusqu’à ce que j’obtienne l’erreur « Connectivity validation failed, connection to the given resource not possible. » à l’étape Monitoring IDO Resource.

    Cordialement

    Répondre
    • Bonjour Franck,

      As tu bien vérifié que tu utilise les informations qui sont dans le fichier /etc/icinga2/features-available/ido-mysql.conf ?

      Si tu as fait la configuration de ido-mysql comme dans le tuto, attention le user est icinga2-ido-mysq sans le ‘L’!

      En espérant avoir résolu ton problème.
      A+

      Répondre
      • bonjour

        j ai le meme probleme et j ai utilise exactement les ressource de ido-mysql.conf la difference est que mon serve de base de donnee est externe

        cordialement

        Répondre
  • Bonsoir,

    J’ai tenté d’installer ICINGAWEB2 sans succcès:
    -Toutes les étapes se sont bien passées jusq’au momnet de la validation:
    Authentication configuration has been successfully written to: /etc/icingaweb2/authentication.ini
    Unable to create account « admin ». An error occured:
    ERROR: Zend_Db_Adapter_Exception in /usr/share/icingaweb2/library/vendor/Zend/Db/Adapter/Pdo/Abstract.php:139 with message: SQLSTATE[28000] [1045] Access denied for user ‘root’@’localhost’ (using password: YES)
    Account « admin » has been successfully defined as initial administrator.

    J’ai beau chercher, je ne vois pas l’erreur, si quelq’un peut me mettre sur le voie, ce serait cool.

    Voici la totalité des logs :
    Creating new database « icingaweb2″…
    Creating database schema…
    Login « root » already exists…
    Required privileges were already granted to login « root ».
    The database has been fully set up!

    General configuration has been successfully written to: /etc/icingaweb2/config.ini

    Authentication configuration has been successfully written to: /etc/icingaweb2/authentication.ini
    Unable to create account « admin ». An error occured:
    ERROR: Zend_Db_Adapter_Exception in /usr/share/icingaweb2/library/vendor/Zend/Db/Adapter/Pdo/Abstract.php:139 with message: SQLSTATE[28000] [1045] Access denied for user ‘root’@’localhost’ (using password: YES)
    Account « admin » has been successfully defined as initial administrator.

    User Group Backend configuration has been successfully written to: /etc/icingaweb2/groups.ini
    Unable to create user group « Administrators ». An error occured:
    ERROR: Zend_Db_Adapter_Exception in /usr/share/icingaweb2/library/vendor/Zend/Db/Adapter/Pdo/Abstract.php:139 with message: SQLSTATE[28000] [1045] Access denied for user ‘root’@’localhost’ (using password: YES)

    Resource configuration has been successfully written to: /etc/icingaweb2/resources.ini

    Monitoring backend configuration has been successfully written to: /etc/icingaweb2/modules/monitoring/backends.ini
    Resource configuration has been successfully updated: /etc/icingaweb2/resources.ini

    Command transport configuration has been successfully created: /etc/icingaweb2/modules/monitoring/commandtransports.ini

    Monitoring security configuration has been successfully created: /etc/icingaweb2/modules/monitoring/config.ini

    Module « monitoring » has been successfully enabled.

    Répondre
  • Bonjour Olivier,

    Il semblerais qu’il y ai un problème d’authentification avec ton compte root (celui de la BDD) as tu regardé de ce côté la?

    A+

    Répondre
  • Le seul tutoriel que j’ai trouvé pour réaliser cette installation sans soucis.
    Merci ! vraiment !

    Jessie 8.4
    Fresh install de OVH « Jessie 8 »

    Répondre
  • Merci beaucoup pour ton tuto, j’ai seulement une petite question, je suis sous debian 7 et j’aimerais changer le port d’écoute de icingaweb2 pour le passer de 80 a 8080 mais je ne trouve pas le fichier de configuration qui me permettrait de faire cette modif.
    En espérant que tu puisse encore m’aider.

    Merci encore pour ton super tuto.

    Répondre
    • Ravis d’avoir pu t’aider 😉 c’est ton serveur web qui gère la partie web. En général Apache (en tout cas c’est celui utilisé dans ce tuto). Pour changer le port d’écoute il faut donc modifier la conf du serveur web apache. Pour cela je t’invite à lire ce tuto qui devrais t’aider:

      http://www.it-connect.fr/changer-le-port-decoute-dapache2/

      A+ 🙂

      Répondre
  • bonjour je suis debutant sur icinga2.mon plan est de connecte ma database qui est externe a icinga2 d on icingaweb2 mais je rencontre des problemes au niveau Monitoring-IDO-Ressource.
    ma base de donnee est « icinga » et nom utilisateur « icinga2 » mais quand je rentre celle-ci j ai pour erreur :

    « Connection failed SQLSTATE[42000] [1044] Access denied for user ‘icinga2’@’localhost’ to database ‘icinga' »

    est ce quelqu un pourrait m aider

    Répondre
  • Bonjour Merci pour le tuto j’ai reussi j’ai reussi l’installation avec succes mais je voudrais savoir comment se fait l’ajout des hotes

    Répondre

Laisser un commentaire

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.