Partie I. Installer Icinga 1 (src)
Précédent ACCUEIL Suivant

I. INSTALLER ICINGA 1 (SRC)

Nous allons installer le logiciel de supervision "Icinga". La version utilisée est la 1.9.0.

1.1 - Les paquetages

Icinga nécessite des paquets supplémentaires.

# yum install xinetd php-soap gd-devel glib2-devel fping perl-GD libdbi \
  libdbi-drivers libdbi-devel libdbi-dbd-mysql perl-Crypt-DES perl-Net-SNMP \
  perl-Class-Accessor perl-Config-Tiny perl-Params-Validate perl-ExtUtils-Embed

Démarrez le service "xinetd" et redémarrer le service "Apache".

# service xinetd start
# service httpd restart

1.2 - Création du groupe et de l'utilisateur "icinga"

Créez l'utilisateur et le groupe "icinga".

# groupadd -g 6000 icinga
# useradd -u 6000 -g icinga -d /usr/local/icinga -c "Icinga User" icinga
# chmod 755 /usr/local/icinga
# passwd icinga
  Changement de mot de passe pour l'utilisateur icinga.
  Nouveau mot de passe :     <= Tapez un mot de passe
# groupadd icinga-cmd

Assignez les utilisateurs "apache" et "icinga" au groupe "icinga-cmd" :

# usermod -a -G icinga-cmd apache
# usermod -a -G icinga-cmd icinga

1.3 - Téléchargement et compilation des sources d'Icinga

Le site Internet d'Icinga se trouve à l'adresse : https://www.icinga.org.

Créez le répertoire [/root/telech/icinga] puis téléchargez le fichier "icinga-1.9.0.tar.gz" dans ce répertoire.

# mkdir /root/telech/icinga
# cd /root/telech/icinga
# wget http://sourceforge.net/projects/icinga/files/icinga/1.9.0/icinga-1.9.0.tar.gz

Copiez l'archive dans le répertoire [/usr/local/src] puis décompressez-la.

# cp icinga-1.9.0.tar.gz /usr/local/src
# cd /usr/local/src
# tar xvzf icinga-1.9.0.tar.gz

Positionnez-vous dans le répertoire [./icinga-1.9.0] puis lancez la configuration de l'application.

# cd icinga-1.9.0
# ./configure --prefix=/usr/local/icinga \
              --enable-nanosleep \
              --enable-event-broker \
              --enable-idoutils \
              --enable-embedded-perl \
              --enable-ssl \
              --with-icinga-user=icinga \
              --with-icinga-group=icinga \
              --with-command-user=icinga \
              --with-command-group=icinga-cmd \
              --with-web-user=apache \
              --with-web-group=apache \
              --with-cgiurl=/icinga/cgi-bin \
              --with-htmurl=/icinga \
              --with-perlcache

Lancez la compilation.

# make all

Installez l'application.

# make install

Installez les services.

# make install-init

Installez et configurez les permissions sur le répertoire des fichiers de commandes externes.

# make install-commandmode

Installez les exemples.

# make install-eventhandlers

Installez le plugin IDOUtils.

# make install-idoutils

Installez les fichiers de configuration.

# make install-config

Installez l'interface Web d'Icinga.

# make install-webconf

Relancez le service "Apache".

# service httpd restart

1.4 - Installation des "plugins"

Les "plugins" sont des scripts qui permettent de collecter des données sur les composants supervisés.

Le site Internet des "plugins" se trouve à l'adresse : http://www.nagios.org/download/plugins.

Positionnez-vous dans le répertoire [/root/telech/icinga/] puis téléchargez l'archive "nagios-plugins-1.4.16.tar.gz".

# cd /root/telech/icinga
# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/ \
  nagios-plugins-1.4.16.tar.gz

Copiez l'archive dans le répertoire [/usr/local/src] puis décompressez-la.

# cp nagios-plugins-1.4.16.tar.gz /usr/local/src
# cd /usr/local/src
# tar xvzf nagios-plugins-1.4.16.tar.gz

Changez, sur le répertoire [nagios-plugins-1.4.16], le propriétaire et le groupe en "root:root".

# chown -R root:root nagios-plugins-1.4.16
note Attention !

Vous devez installer le protocole SNMP sur le serveur Linux avant de lancer la compilation. Dans le cas contraire, le plugin "check_snmp" ne sera pas compilé !

Positionnez-vous dans le répertoire [nagios-plugins-1.4.16] puis lancez la configuration de l'application.

# cd nagios-plugins-1.4.16
# ./configure --prefix=/usr/local/icinga \
              --enable-perl-modules \
              --with-nagios-user=icinga \
              --with-nagios-group=icinga \
              --with-cgiurl=/icinga/cgi-bin

Lancez la compilation.

# make all

Installez les "plugins".

# make install

1.5 - Configuration du module "IDOUtils"

IDOUtils est un module qui permet de stocker la configuration d'Icinga et les résultats de contrôle dans une base de données MySQL.

Commencez par renommer les fichiers "ido2db.cfg-sample", "idomod.cfg-sample" et "./modules/idoutils.cfg-sample".

# cd /usr/local/icinga/etc
# mv ido2db.cfg-sample ido2db.cfg
# mv idomod.cfg-sample idomod.cfg
# mv ./modules/idoutils.cfg-sample ./modules/idoutils.cfg

Modifiez le fichier "ido2db.cfg".

# vim ido2db.cfg
  lock_file=/usr/local/icinga/var/ido2db.lock
  ido2db_user=icinga
  ido2db_group=icinga
  # socket_type=unix     <= Ajoutez le signe # pour désactiver
  socket_type=tcp        <= Retirez le signe # pour activer
  # socket_name=/usr/local/icinga/var/ido.sock <= Ajoutez le signe # pour désactiver
  # socket_perm=0755     <= Ajoutez le signe # pour désactiver
  tcp_port=5668
  use_ssl=1              <= Remplacez "0" par "1"
  db_servertype=mysql
  db_host=localhost
  db_port=3306
  db_name=icinga
  db_prefix=icinga_
  db_user=icinga
  db_pass=icinga         <= A modifier si nécessaire
  ..............................

Modifiez le fichier "idomod.cfg".

# vim idomod.cfg
  instance_name=default
  # output_type=file
  output_type=tcpsocket                   <= Retirez le signe # pour activer
  # output_type=unixsocket                <= Ajoutez le signe # pour désactiver
  # output=/usr/local/icinga/var/ido.dat
  output=127.0.0.1                        <= Retirez le signe # pour activer
  # output=/usr/local/icinga/var/ido.sock <= Ajoutez le signe # pour désactiver
  tcp_port=5668
  use_ssl=1                               <= Remplacez "0" par "1"

Affichez le contenu du fichier "./modules/idoutils.cfg". Vérifiez que votre fichier contient les lignes ci-dessous.

# cat ./modules/idoutils.cfg
  define module{
     module_name     idomod
     module_type     neb
     path            /usr/local/icinga/lib/idomod.so
     args            config_file=/usr/local/icinga/etc/idomod.cfg
     }

Modifiez le fichier "icinga.cfg".

# vim icinga.cfg
  ..............................
  broker_module=/usr/local/icinga/lib/idomod.so config_file=/usr/local/icinga/etc
  /idomod.cfg       <= Retirez le signe # pour activer - Ligne 276
  ..............................
  date_format=euro  <= Remplacez "us" par "euro" - Ligne 1252
  ..............................
  admin_email=webmaster@sm.fr  <= Tapez une adresse E-Mail valide - Ligne 1406
  # admin_pager=pageicinga@localhost <= Ajoutez le signe # pour désactiver
  ..............................

1.6 - Création de la base de données "icinga"

Créez la base de données icinga sous MySQL.

# cd /
# mysqladmin -u root -p create icinga

Créez l'utilisateur "icinga" et attribuez-lui les droits SELECT, INSERT, UPDATE, DELETE sur la base "icinga".

# mysql -u root -p
mysql> 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;
mysql> GRANT USAGE ON *.* TO 'icinga'@'127.0.0.1' IDENTIFIED BY \
       'icinga' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 \
       MAX_UPDATES_PER_HOUR 0;
mysql> GRANT USAGE ON *.* TO 'icinga'@'esx10' IDENTIFIED BY \
       'icinga' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 \
       MAX_UPDATES_PER_HOUR 0;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON icinga.* TO 'icinga'@'localhost';
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON icinga.* TO 'icinga'@'127.0.0.1';
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON icinga.* TO 'icinga'@'esx10';
mysql> flush privileges;
mysql> exit

Remplissez la base de données icinga.

# cd /usr/local/src/icinga-1.9.0/module/idoutils/db/mysql
# mysql -u root -p icinga < mysql.sql

Vérifiez, dans le fichier "/usr/local/icinga/etc/ido2db.cfg" la présence des lignes suivantes :

# vim /usr/local/icinga/etc/ido2db.cfg
  ..............................
  ido2db_user=icinga
  ido2db_group=icinga
  ..............................
  db_servertype=mysql
  ..............................
  db_port=3306
  db_name=icinga         <= A modifier si nécessaire
  ..............................
  db_user=icinga
  db_pass=icinga         <= A modifier si nécessaire
  ..............................
# cd /

1.7 - Installation de l'interface Web

Positionnez-vous dans le répertoire [/usr/local/src/icinga-1.9.0] puis installez l'interface Web.

# cd /usr/local/src/icinga-1.9.0
# make cgis
# make install-cgis
# make install-html
# cd /

1.8 - Sécurisation de l'accès à l'interface Web d'Icinga

Créez l'utilisateur "icingaadmin" et attribuez-lui un mot de passe. Ce compte servira pour l'authentification Web.

# htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin
# chmod 444 /usr/local/icinga/etc/htpasswd.users

1.9 - Activation des services liés à Icinga

Redémarrez le service Web puis démarrez les services "ido2db" et "icinga".

# service httpd restart
# service ido2db start
# service icinga start

Ajoutez les services "ido2db" et "icinga" au démarrage de Linux.

# chkconfig --add ido2db
# chkconfig --add icinga

Redémarrez le système.

1.10 - Lancement de l'interface Web classique d'Icinga

Lancez le navigateur Internet à l'adresse : http://esx10.sm.fr/icinga. Le compte utilisateur est "icinga" et le mot de passe est "password".

Figure 1 - Interface Web classique d'Icinga

Icinga - Interface Web classique

Icinga est installé et opérationnel !


Auteur : Stéphane Maas / 2013-2016
Précédent ACCUEIL Suivant