Recherche de site Web

Icinga : un outil open source de « surveillance des serveurs Linux » de nouvelle génération pour RHEL/CentOS 7.0


Icinga est un outil de surveillance open source moderne issu d'un fork de Nagios et comporte désormais deux branches parallèles, Icinga 1 et Icinga. 2. Ce que fait cet outil n'est pas très différent de Nagios car il utilise toujours des plugins et des modules complémentaires Nagios et même des fichiers de configuration pour vérifier et surveiller les services réseau et les hôtes, mais certaines différences peuvent être repérées sur les interfaces Web, en particulier sur nouvelle interface Web, capacité de reporting et développement facile de modules complémentaires.

Cette rubrique se concentrera sur une installation de base de l'outil de surveillance Icinga 1 à partir de binaires sur CentOS ou RHEL 7, à l'aide de RepoForge (anciennement RPMforge) pour CentOS 6, avec l'interface web classique détenue par Apache Webserver et l'utilisation des plugins Nagios qui seront installés sur votre système.

Lire aussi : Installer l'outil de surveillance Nagios dans RHEL/CentOS

Exigences

Une installation de base de LAMP sur RHEL/CentOS 7.0 sans MySQL et PhpMyAdmin, mais avec ces modules PHP : php-cli
php-pear php-xmlrpc php-xsl php-pdo php-soap php-gd.

  1. Installation de LAMP de base dans RHEL/CentOS 7.0

Étape 1 : Installation de l'outil de surveillance Icinga

1. Avant de procéder à l'installation d'Icinga à partir des binaires, ajoutez les référentiels RepoForge sur votre système en exécutant la commande suivante, en fonction de votre machine.

Pour 86-64 bits
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
Pour 32 bits
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm

2. Une fois les référentiels RepoForge ajoutés sur votre système, commencez par l'installation de base d'Icinga sans encore l'interface Web, en exécutant la commande suivante.

yum install icinga icinga-doc

3. L'étape suivante consiste à essayer d'installer l'interface Web Icinga fournie par le package icinga-gui. Il semble que pour le moment ce package ait des problèmes non résolus avec CentOS/RHEL 7 et générera des erreurs de vérification de transaction, mais vous pouvez n'hésitez pas à essayer d'installer le package, peut-être qu'entre-temps le problème a été résolu.

Néanmoins, si vous obtenez les mêmes erreurs sur votre ordinateur que celles illustrées ci-dessous, utilisez l'approche suivante comme décrit plus en détail, pour pouvoir installer l'interface Web d'Icinga.

yum install icinga-gui

4. La procédure pour installer le package icinga-gui qui fournit l'interface Web est la suivante. Téléchargez d'abord le package binaire du site Web RepoForge à l'aide de la commande wget.

Pour 86-64 bits
wget http://pkgs.repoforge.org/icinga/icinga-gui-1.8.4-4.el6.rf.x86_64.rpm
Pour 32 bits
wget http://pkgs.repoforge.org/icinga/icinga-gui-1.8.4-4.el6.rf.i686.rpm

5. Une fois que wget a fini de télécharger le package, créez un répertoire nommé icinga-gui (vous pouvez choisir un autre nom si vous le souhaitez), déplacez icinga-gui. b> RPM binaire dans ce dossier, entrez dans le dossier et extrayez le contenu du package RPM en émettant la série de commandes suivante.

mkdir icinga-gui
mv icinga-gui-* icinga-gui
cd icinga-gui
rpm2cpio icinga-gui-* | cpio -idmv

6. Maintenant que vous disposez du package icinga-gui extrait, utilisez la commande ls pour visualiser le contenu du dossier – cela devrait donner trois nouveaux répertoires – < b>etc, usr et var. Commencez par exécuter une copie récursive des trois répertoires résultants sur la configuration du système de fichiers racine de votre système.

cp -r etc/* /etc/
cp -r usr/* /usr/
cp -r var/* /var/

Étape 2 : Modifier le fichier de configuration Icinga Apache et les autorisations système

7. Comme présenté dans l'introduction de cet article, votre système doit avoir le serveur HTTP Apache et PHP installés afin de pouvoir exécuter l'interface Web Icinga.

Une fois les étapes ci-dessus terminées, un nouveau fichier de configuration devrait maintenant être présent sur le chemin Apache conf.d nommé icinga.conf. Afin de pouvoir accéder à Icinga depuis un emplacement distant depuis le navigateur, ouvrez ce fichier de configuration et remplacez tout son contenu par les configurations suivantes.

nano /etc/httpd/conf.d/icinga.conf

Assurez-vous de remplacer tout le contenu du fichier par ce qui suit.

ScriptAlias /icinga/cgi-bin "/usr/lib64/icinga/cgi"

<Directory "/usr/lib64/icinga/cgi">
 SSLRequireSSL
   Options ExecCGI
   AllowOverride None
   AuthName "Icinga Access"
   AuthType Basic
   AuthUserFile /etc/icinga/passwd

   <IfModule mod_authz_core.c>
      # Apache 2.4
      <RequireAll>
         Require all granted
         # Require local
         Require valid-user
      </RequireAll>
   </IfModule>

   <IfModule !mod_authz_core.c>
      # Apache 2.2
      Order allow,deny
      Allow from all
      #  Order deny,allow
      #  Deny from all
      #  Allow from 127.0.0.1
      Require valid-user
    </IfModule>
 </Directory>

Alias /icinga "/usr/share/icinga/"

<Directory "/usr/share/icinga/">

 SSLRequireSSL
   Options None
   AllowOverride All
   AuthName "Icinga Access"
   AuthType Basic
   AuthUserFile /etc/icinga/passwd

   <IfModule mod_authz_core.c>
      # Apache 2.4
      <RequireAll>
         Require all granted
         # Require local
         Require valid-user
      </RequireAll>
   </IfModule>

   <IfModule !mod_authz_core.c>
      # Apache 2.2
      Order allow,deny
      Allow from all
      #  Order deny,allow
      #  Deny from all
      #  Allow from 127.0.0.1
      Require valid-user
   </IfModule>
</Directory>

8. Après avoir modifié le fichier de configuration Icinga httpd, ajoutez l'utilisateur système Apache au groupe système Icinga et utilisez les autorisations système suivantes sur les chemins système suivants.

usermod -aG icinga apache
chown -R icinga:icinga /var/spool/icinga/*
chgrp -R icinga /etc/icinga/*
chgrp -R icinga /usr/lib64/icinga/*
chgrp -R icinga /usr/share/icinga/*

9. Avant de démarrer le processus système Icinga et le serveur Apache, assurez-vous également de désactiver le mécanisme de sécurité SELinux en exécutant la commande setenforce 0 et de rendre les modifications permanentes. en éditant le fichier /etc/selinux/config, en changeant le contexte SELINUX de enforcing à disabled.

nano /etc/selinux/config

Modifiez la directive SELINUX pour qu'elle ressemble à ceci.

SELINUX=disabled

Vous pouvez également utiliser la commande getenforce pour afficher l'état de SELinux.

10. Comme dernière étape avant de démarrer le processus Icinga et l'interface Web, par mesure de sécurité, vous pouvez maintenant modifier le mot de passe administrateur Icinga en exécutant la commande suivante, puis démarrer les deux processus.

htpasswd -cm /etc/icinga/passwd icingaadmin
systemctl start icinga
systemctl start httpd

Étape 3 : Installez les plugins Nagios et accédez à l'interface Web d'Icinga

11. Afin de commencer à surveiller les services externes publics sur les hôtes avec Icinga, tels que HTTP, IMAP, POP3, SSH, DNS, ICMP ping et bien d'autres services accessibles depuis Internet ou LAN, vous devez installer < Package b>Nagios Plugins fourni par les référentiels EPEL.

rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
yum install yum install nagios-plugins nagios-plugins-all

12. Pour vous connecter à l'interface Web d'Icinga, ouvrez un navigateur et pointez-le vers l'URL http://system_IP/icinga/. Utilisez icingaadmin comme nom d'utilisateur et le mot de passe que vous avez modifié précédemment et vous pouvez maintenant voir l'état de votre système localhost.

C'est tout! Vous avez maintenant Icinga basic avec l’interface Web classique – comme Nagios – installée et exécutée sur votre système. À l'aide des plugins Nagios, vous pouvez maintenant commencer à ajouter de nouveaux hôtes et services externes à vérifier et à surveiller en éditant les fichiers de configuration Icinga situés sur le chemin /etc/icinga/. Si vous devez surveiller les services internes sur des hôtes distants, vous devez installer un agent sur des hôtes distants comme NRPE, NSClient++, SNMP pour collecter des données et les envoyer au processus principal d'Icinga.

Lire aussi

  1. Installez le plug-in NRPE et surveillez les hôtes Linux distants
  2. Installer l'agent NSClient++ et surveiller les hôtes Windows distants