Projet Nagios

Embed Size (px)

Citation preview

  • 8/12/2019 Projet Nagios

    1/35

    Mise en uvre dune solution de supervision Open Source Nagios

    1

    Mise en uvre dune solution de supervision

    Open Source Nagios

    Ralis par : Encadr Par:

    - EDDARIAyoub - Mr ABDELMOUTALEB Rachid

    - HACHADIZakaria -Mr RABBAA Najib

    - AIT MASKARZaid

    Groupe : LISRS-S1 Casa

    Anne universitaire : 2012/2013

  • 8/12/2019 Projet Nagios

    2/35

    Mise en uvre dune solution de supervision Open Source Nagios

    2

    Il est pour nous un grand plaisir davoir eu saisir cette rare occasion

    pour formuler nos profondes gratitudes et nos hautes considrations

    toutes les personnes.

    Nous aimerons adresser nos remerciements tout le corps enseignant de

    Luniversit Hassan 1erFacult des Sciences et Techniques-Settat, et

    spcialement nos Prof Mr ABD ELMOTALIB Rachid, et Mr RABBAA

    Najib pour la qualit de leurs enseignements et leur soutien durant cetteanne fructueuses de notre formation.

    Il est indispensable de remercier les gens qui ont particip beaucoup ou peu

    afin de raliser ce travail pour quil soit un petit indice de la bonne

    formation et la meilleure direction de notre IT Learning Campus ainsi que

    les possibilits quelle offre ses lves.

  • 8/12/2019 Projet Nagios

    3/35

    Mise en uvre dune solution de supervision Open Source Nagios

    3

    sommaire

    I Introduction 4II historique des versions 5III version la plus rcente 5IV Quelques produits concurrents 6

    1. Sous licence 62. Sous licence commerciale 63. comparaison de nagios avec d'autres outils 7

    V Fonctionnalit 8VI Les plugins 9VII Architecture multisite 10VIII Les agent 10

    1. NRPE 102. NSCA 113. NSClient++ 12

    IXCentreon 12X SNPM 14XI FAN 15XII Configuration 15

    1. Configuration nagios Ct server 152. Configuration des machines Windows 203. Configuration des machines linux/Unix 28

    XIII Scurisation de Nagios 33XIV Conclusion 35

  • 8/12/2019 Projet Nagios

    4/35

    Mise en uvre dune solution de supervision Open Source Nagios

    4

    Open Source Nagios

    I Introduction:

    Anciennement appel NetSaint, Nagios l'origine tait destinuniquement pour les systmes Linux, maisActuellement aucune entreprise nepeut se passer d'outils informatiques, et trs souvent un rseau informatique detaille plus ou moins importante est mis en uvre. Le nombre des machinesdans ces rseaux peut parfois devenir extrmement lev; La maintenance

    ainsi que la gestion de ces parcs informatiques deviennent alors des enjeuxcruciaux, d'autant plus qu'une panne du rseau peut parfois avoir desconsquences catastrophiques.

    C'est pourquoi les administrateurs rseau font appel des logiciels desurveillance et de supervision de rseaux. Ces logiciels vrifient l'tat du rseauainsi que des machines connectes et permettent l'administrateur d'avoir unevue d'ensemble en temps rel de l'ensemble du parc informatique sous saresponsabilit. Il peut tre aussi inform (par email, par SMS) en cas de

    problme. Grce un tel systme, les dlais d'interventions sont fortementrduits.

    Plusieurs logiciels ralisent ces taches, comme par exemple Websense,Tivoli, Observer, HP Openview, Ciscoworks, Patrol et d'autres, mais certainssont payants.

    Dans ce domaine, un logiciel fait office de rfrence: Nagios. En effetNagios est trs performant et possde une prise en main assez intuitive. Ils'installe sur une machine possdant un systme d'exploitation Linux, mais peutsuperviser aussi bien des machines Linux que Windows. Cet outil permetgalement une supervision des quipements rseaux (routeur, switch), ce quiest primordial pour l'utilisation que l'on va en faire.

  • 8/12/2019 Projet Nagios

    5/35

    Mise en uvre dune solution de supervision Open Source Nagios

    5

    De plus, Nagios est un outil Open source: Chaque socit peut l'adaptercomme elle lui semble. Puis, la socit ne payera pas de licence: Elle nepayera que les frais de formation, d'installation et de maintenance.

    Enfin un autre avantage: Une grosse communaut est runie autour de celogiciel, ce qui facilite les recherches de documentations et de rponses nosquestions.

    II historique des versions:

    Une premire version de Nagios est sortie en Nov 2002 . Celle-ciapporte des changements profonds dans le logiciel. Parmi les principaux, ontrouve :

    Suppression du support de la configuration en base de donnes.Possibilit de stocker les fichiers de configuration dans des sous-rpertoires.

    Support dURL de "notes" pour les htes et les services, ce qui permet parexemple dutiliser Nagios comme rfrentiel de versions (identification desversions des logiciels installs sur chaque hte).

    Vrifications passives pour les htes, sur le mme principe que lesservices.

  • 8/12/2019 Projet Nagios

    6/35

    Mise en uvre dune solution de supervision Open Source Nagios

    6

    III Version la plus rcente:

    Nagios est actuellement sa version 3.4.3 il est plac sous la LicenceGNU GPL (General Public License) version 2. Ce qui donne la permissionlgale de le copier, le distribuer et/ou de le modifier sous certaines conditions.

    La nouvelle version corrige les bugs prsents dans les versions 3.4.2 etantrieures: Voici quelques unes de ces corrections:

    Correction de la soumission de commandes externes via CGI. Correction du groupe Apache dans les spcifications pour les RPMs.

    Meilleure prise en charge de l'erreur d'criture dans les fichiers deretention et status rsultant d'un disque plein. Correction des alertes audio dans les CGIs. Ajout du support des certificats d'authentification x509 dans les CGIs.

    IV Quelques produits concurrents :

    1) Sous licence GNU GPL

    Zabbix Big Brother OpenNMS Scotty Cacti

    2) Sous licence commerciale

    HP OpenView Tivoli d'IBM Patrol de BMS Software IBM NetView Sun Net Manager Big Brother Mercury Scom

  • 8/12/2019 Projet Nagios

    7/35

    Mise en uvre dune solution de supervision Open Source Nagios

    7

    3) comparaison de nagios avec d'autres outils de supervision :

  • 8/12/2019 Projet Nagios

    8/35

    Mise en uvre dune solution de supervision Open Source Nagios

    8

    V Fonctionnalit :

    Nagios est un logiciel libre de surveillance (Monitoring) des rseaux etsystmes, trs connu dans le monde de l'entreprise et des professionnelsrseaux. Il permet de surveiller les htes et services spcifis dans son fichierde configuration, et d'alerter lesadministrateurs systmes et rseaux en casd'vmenent (Mauvais ou Bon).

    Nagios permet de :

    La supervision rseau (SMTP, POP3, HTTP, NNTP, ping, etc...) La supervision des ressources systmes (charge du processeur,

    utilisation du disque, nombre d'utilisateurs connects, nombre deprocess... etc...)

    La supervision applicative La notification par diffrents moyens de communication (SMS, mail,

    wap...) . L'excution de commandes manuelles ou automatiques . La reprsentation des tats des ressources supervises, par coloration. La cartographie du systme d'information supervis . Le reporting.

    Pour chaque lment supervis, il peut grer:

    Des contacts (les personnes qui doivent tre alertes en cas dedysfonctionnement) ou un groupe de contacts (administrateurs-unix parexemple)

    Des plages horaires Des plugins.

    Il est possible d'utiliser le systme de templates (modles prdfinis) pourdclarer les diffrentes machines et services surveiller.

    Nagios surveille les machines et leurs services rseaux grce des plugins.

    Il prvient certaines personnes en fonction de l'tat certaines priodes detemps, de certaines machines ou services.

  • 8/12/2019 Projet Nagios

    9/35

    Mise en uvre dune solution de supervision Open Source Nagios

    9

    Nagios repose sur un serveur web et des CGI. Il peut intgrer une base dedonnes de type MySQLou PostgreSQLpour y stocker des informations desupervision. Bien que conseille, la base de donne n'est pas essentielle dans

    le fontionnement de Nagios et peut tre remplace par de simples fichierstournants, mais cette architecture doit tre limite de petites installations avecun nombre de machines supervises restreint.

    Schma standard de fonctionnement de Nagios :

    VILes plugins :

    Les plugin sont des programmes excutables ou des scripts (perl, shell,etc..) qui peuvent tre lancs depuis une ligne de commande pour tester unhte ou un service.Le rsultat de l'excution d'un plugin est utilis par Nagios pour dterminer lestatut des htes ou des services sur le rseau.

    Quelques plugins standards :

    check_http vrifie la prsence d'un serveur webcheck_load vrifie la charge CPU localecheck_ping envoie une requte ping un htecheck_pop vrifie la prsence d'un serveur POP3check_procs compte les processus locauxcheck_smtp vrifie la prsence d'un serveur SMTPcheck_snmp envoie une requte SNMP un htecheck_ssh vrifie la prsence d'un service SSHcheck_tcp vrifie l'ouverture d'un port TCPcheck_users compte le nombre d'utilisateurs sur la machine local

  • 8/12/2019 Projet Nagios

    10/35

    Mise en uvre dune solution de supervision Open Source Nagios

    10

    VII Architecture multisite:

    Pour surveiller des machines distantes il faut qu'il y ait sur ces machines un agent

    qui pourra renseigner les plugins Nagios des informations dont ils ont besoin. La miseen place de cet agent diffre en fonction du systme d'exploitation.

    VIIILes agents :

    1) NRPE

    NRPE (Nagios Remote Plugin Executor) est un agent de supervision quivous permet de rcuprer les informations distance. Son principe de

    fonctionnement est simple : il suffit dinstaller le dmon sur la machine distanteet de linterroger partir du serveurNagios.

    Il est dfini comme lagent dinterrogation de type actif car cest le serveurnagios qui va interroger la machine distante.

  • 8/12/2019 Projet Nagios

    11/35

    Mise en uvre dune solution de supervision Open Source Nagios

    11

    2) NSCA

    NSCA est lagent de type passif pour linterrogation des machines

    distantes. Il est utilis dans des cas particuliers o certains types dematriels. Cet agent est utiliser surtout sur les alertes dite : Asynchrone. Cesont des alertes qui arrivent de temps en temps mais on ne sait jamais quandalors que quasiment tout le temps lhte superviser reste silencieux. Ce quelon veut avec cet agent, cest de ne pas charger notre serveur de supervisionavec des contrles. Dans ce cas de figure, cest notre hte supervis quiremontera son problme quand il y en aura un.

    Schma de fonctionnement:

    NSCA est utilis dans les cas suivants :

    Lorsque les htes contrler sont situs derrire un firewall, et nepeuvent donc pas tre contrls directement depuis le serveur Nagios moins de procder louverture du port de chaque machine mais ceciengendre une lourdeur dadministration et de gros risques de scurit.

    Lorsque les vnements sont asynchrones par nature (comme les trapsSNMP, les alertes de scurit, )

    Lorsque votre environnement de supervision devient trop consquent. Lors de lutilisation de larchitecture de supervision dite distribue

  • 8/12/2019 Projet Nagios

    12/35

    Mise en uvre dune solution de supervision Open Source Nagios

    12

    3) NSClient++

    Avant de pouvoir superviser les attributs et services privs des machinesWindows, vous allez devoir installer un agent sur ces machines. Jerecommande l'utilisation de l'addon NSClient++, qui peut tre trouv surhttp://sourceforge.net/projects/nscplus.

    Sans installation d'agent sur la machine Windows, Nagios serait incapablede superviser le moindre attributs ou services privs de la machine Windows.

    Lagent NSClient++ doit tre installer sur la machine Windows et utiliserle plugin check_nt pour communiquer avec NSCLient++.

    IXCentreon : une interface Nagios :

    Avant dentamer le coeur du sujet, savoir le comparatif des outils, il estncessaire de donner une explication sur le fonctionnement de Centreon et de

    son rapport Nagios car, le coeur de Centreon est bas sur Nagios.Nagios est un ordonnanceur qui va organiser (ordonnancer) les tests de

    supervision, appels contrles, sur les diffrents hosts et services cibles etagrger les rsultats pour les mettre disposition via une interface web enlecture seule. Nagios permet aussi de remonter des donnes de performance(via ses plugins) quil stocke dans un norme fichier plat et qui est, parconsquent, inexploitable en ltat.

    Cest sur ce constat que vient se grefferCentreon en proposant une

    interface web diffrente de celle de Nagios et ajoute ainsi les fonctionnalitssuivantes :

    http://sourceforge.net/projects/nscplushttp://www.nagios.org/http://www.centreon.com/http://www.centreon.com/http://www.centreon.com/http://www.nagios.org/http://sourceforge.net/projects/nscplus
  • 8/12/2019 Projet Nagios

    13/35

    Mise en uvre dune solution de supervision Open Source Nagios

    13

    Gnration via IHM de la configuration potentiellement complexe deNagios en mettant notamment disposition des notions de templatesdhosts, de services, de commandes, avec des possibilits dhritagesmultiples.

    Stockage et exploitation (graphique) des donnes de performance

    (mtrologie) de Nagios via loutil open sourceRRDtool. Reporting plus lisible sur ltat des hosts et des services de linfrastructure

    sur diffrentes priodes : pratique pour avoir une visibilit globale de laqualit de son infrastructure dans le temps et pratique pour fournir desrapports visuels dans le cadre de SLAs.

    Une interface ergonomique de visualisation de ltat des hosts et desservices (je la trouve plus agrable que celle de Nagios qui fournit debase cette fonctionnalit sur sa propre IHM web).

    La possibilit de piloter plusieurs Nagios distribus et dagrger leurs

    donnes : cela peut tre utile sur de grosses infrastructures segmentes.Il est donc noter quil est possible dinstaller des Nagios autonomes surdes machines diffrentes de celle du Centreon qui collectera les donnes(via CentCore).

    un shema expliquant la relation entre les deux outils :

    http://oss.oetiker.ch/rrdtool/http://oss.oetiker.ch/rrdtool/http://oss.oetiker.ch/rrdtool/http://oss.oetiker.ch/rrdtool/
  • 8/12/2019 Projet Nagios

    14/35

  • 8/12/2019 Projet Nagios

    15/35

    Mise en uvre dune solution de supervision Open Source Nagios

    15

    arborescente appele MIB (management information base). Ce protocole nestplus lunique moyen de supervision : en effet les logiciels de supervisiondaujourdhui tendent vers lutilisation dagents propritaires afin de remplacer leprotocole SNMP et ce dans le but de fournir toujours plus dinformations lutilisateur. Cependant leprotocole SNMP reste le seul moyen de surveiller

    lactivit dquipements rseaux tels que les commutateurs ou les routeurs,tant donn que ces matriaux offrent rarement la possibilit dinstaller deslogiciels tiers.

    X FAN:

    Fully Automated Nagios (ou FAN) est une distribution Linux base surCentOS. Elle intgre plusieurs outils qui permettent de superviser son systmedinformation : Nagios, Centreon et enfin Nagvis.Les composants sont

    les suivants :

    CentOS: un clone (au sens propre) de RedHat libre et gratuit Nagios: le cur de supervision Centreon: une extension Nagios pour faciliter la configuration Nagvis: une extension pour avoir une partie graphique

    Le principal avantage de cette distribution est le fait quelle permet de mettre enplace un serveur de supervision trs rapidement sans avoir besoin deconfigurer de A Z.

    XI Configuration :

    4)Configuration nagios Ct server:

    Si on suit les instructions, voici ce que nous obtiendrons la fin:

    o Nagios et les plugins seront installs dans l'arborescence durpertoire /usr/local/nagios

    o Nagios sera configur pour superviser quelques aspects du systme local

    (charge CPU, occupation disque, etc.)o L'interface web de Nagios sera accessible http://localhost/nagios/

  • 8/12/2019 Projet Nagios

    16/35

    Mise en uvre dune solution de supervision Open Source Nagios

    16

    Pr-requis :Nous aurons besoin d'un accs root sur la machine pour quelques

    passages de l'installation

    Premierement install les paquets suivants sur l'installation Fedora avantde continuer :

    ApacheCompilateur GCClibrairies de dveloppementGD

    en utilisant les commandes suivantes (en tant que root):

    #yum install httpd

    #yum install gcc

    #yum install glibc glibc-common

    #yum install gd gd-devel

    Crez un compte utilisateur :

    Passez sur le compte root :

    $su l

    Crez un utilisateur nagios et attribuez lui un mot de passe :

    #/usr/sbin/useradd -m nagios

    #passwd nagios

    Crez un groupe nagcmd pour autoriser la soumission de commandes externes

    depuis l'interface web. Ajoutez la fois l'utilisateur nagios et l'utilisateur apache ce groupe :

    #/usr/sbin/groupadd nagcmd

    #/usr/sbin/usermod -G nagcmd nagios

    #/usr/sbin/usermod -G nagcmd apache-

    http://www.boutell.com/gd/http://www.boutell.com/gd/
  • 8/12/2019 Projet Nagios

    17/35

    Mise en uvre dune solution de supervision Open Source Nagios

    17

    Tlchargez Nagios et les Plugins :

    Crez un rpertoire pour stocker les tlchargements :

    #mkdir ~/downloads

    #cd ~/downloads

    Tlchargez la fois l'archive du code source de Nagios et des pluginsNagios (visitezhttp://www.nagios.org/download/pour les liens vers lesdernires versions) :

    #wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-(version -actuel).tar.gz

    #wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-(version-actuel).tar.gz

    Compilez et installez Nagios :

    Extraire le code source de Nagios de l'archive :

    #cd ~/downloads#tar xzf nagios-(version).tar.gz

    #cd nagios-(version)

    Excutez le script de configuration de Nagios en lui passant le nom du groupequon vient juste de crer commesuit:

    #./configure --with-command-group=nagcmd

    Compilez le code source de Nagios :#make all

    Installez les binaires, les scripts de dmarrage, les fichiers de configuration etrglez les permissions sur le dossier des commandes externes :

    #make install

    #make install-init

    #make install-config

    #make install-commandmode

    http://www.nagios.org/download/http://www.nagios.org/download/http://www.nagios.org/download/http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-(versionhttp://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-(version-actuel).tar.gzhttp://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-(version-actuel).tar.gzhttp://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-(version-actuel).tar.gzhttp://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-(version-actuel).tar.gzhttp://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-(versionhttp://www.nagios.org/download/
  • 8/12/2019 Projet Nagios

    18/35

    Mise en uvre dune solution de supervision Open Source Nagios

    18

    Personnalisation de la configuration :

    Les fichiers de configuration ont t installs dans le rpertoire/usr/local/nagios/etc. Ces fichiers d'exemple devraient suffire pour commenceravec Nagios. Vous n'aurez qu'une chose modifier avant de pouvoircommencer

    ditez le fichier de configuration/usr/local/nagios/etc/objects/contacts.cfg avec votre diteur de texte prfret changez l'adresse de courrier lectronique associe avec la dfinition decontact nagiosadmin par celle que vous souhaitez utiliser pour recevoir lesalertes :

    #vi /usr/local/nagios/etc/objects/contacts.cfg

    Configuration de l'interface web :

    Installez le fichier de configuration web Nagios dans le rpertoireApache conf.d:

    #make install-webconf

    Crez un compte nagiosadmin pour la connexion l'interface web de Nagios.Souvenez-vous du mot de passe attribu ce compte - Vous en aurez besoinplus tard :

    #htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

    Redmarrez Apache pour que les nouveaux rglages prennent effet :

    #service httpd restart

    Compilation et installation des Plugins Nagios :

    Extraire le code source des plugins Nagios de l'archive :

    #cd ~/downloads

    #tar xzf nagios-plugins-(version).tar.gz

    #cd nagios-plugins-(version)

    http://doc.monitoring-fr.org/3_0/html/configuringnagios-config.htmlhttp://doc.monitoring-fr.org/3_0/html/configuringnagios-config.html
  • 8/12/2019 Projet Nagios

    19/35

    Mise en uvre dune solution de supervision Open Source Nagios

    19

    Compilation et installation des plugins :

    #./configure --with-nagios-user=nagios --with-nagios-group=nagios

    #make

    #make install

    Dmarrage de Nagios :

    Ajouter Nagios la liste des services systme et dmarrer leautomatiquement au dmarrage du systme:

    # chkconfig --add nagios

    # chkconfig nagios on

    Vrifier les exemples de fichiers de configuration de Nagios :

    #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

    S'il n'y a pas d'erreur, dmarrer Nagios :

    # service nagios start

    Modifiez les rglages SELinux :

    Fedora est fourni avec SELinux (Security Enhanced Linux) install et enmode Enforcing par dfaut. Cela peut engendrer des messages Internal ServerError quand vous essayez d'accder aux CGIs de Nagios.

    Vrifiez si SELinux est en mode Enforcing :

    # service nagios start

    Rglez SELinux sur le mode Permissif :

    # setenforce 0

  • 8/12/2019 Projet Nagios

    20/35

    Mise en uvre dune solution de supervision Open Source Nagios

    20

    Pour rendre le changement permanent, vous allez devoir modifier cesrglages dans/etc/selinux/configet redmarrer.

    Plutt que de passer SELinux en mode permissif ou de le dsactiver, vouspouvez utiliser la commande suivante pour excuter les CGIs en mode SELinux

    enforcing/targeted:# chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/

    # chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

    5)Configuration des machines Windows supervis :

    Vue globale :

    Superviser des attributs et services privs sur une machine Windowsrequiert l'installation d'un agent sur celle-ci. Cet agent agit comme un proxyentre les plugins Nagios qui font la supervision et le service ou l'attribut sur lamachine Windows. Sans installation d'agent sur la machine Windows, Nagiosserait incapable de superviser le moindre attributs ou services privs de la

    machine Windows.

    Pour cet exemple, nous allons installer l'addonNSClient++sur la machineWindows et utiliser le plugin check_ntpour communiquer avec NSCLient++.

    tapes suivre pour pouvoir superviser une nouvelle machine Windows :

    1. Procder aux pr-requis ncessaires la premire fois

    2. Installez un agent de supervision sur la machine Windows

    3. Crez de nouvelles dfinitions d'hte et de service pour superviser lamachine Windows

    4. Redmarrez le dmon Nagios

    http://sourceforge.net/projects/nscplushttp://sourceforge.net/projects/nscplushttp://sourceforge.net/projects/nscplushttp://sourceforge.net/projects/nscplus
  • 8/12/2019 Projet Nagios

    21/35

    Mise en uvre dune solution de supervision Open Source Nagios

    21

    Ce qui est dj fait pour nous :

    Pour nous rendre la vie un peu plus facile, quelques tches de

    configuration ont dj t faites : Une dfinition de commande check_nta t ajout au

    fichier commands.cfg. Cela permet d'utiliser le plugincheck_ntpoursuperviser les services Windows.

    Un gabarit d'hte serveur Windows (appel windows-server) a dj tcr dans le fichier templates.cfg. Cela permet d'ajouter de nouvellesdfinitions d'htes Windows de faon simple.

    Les fichiers de configuration mentionns ci-dessus peuvent tre trouvsdans le rpertoire/usr/local/nagios/etc/objects/. Vous pouvez modifier lesdfinitions de ceux-ci ou en crez de nouvelles pour rpondre le mieux votrebesoin. Quoi qu'il en soit, je vous recommande d'attendre d'avoir une meilleureconnaissance de la configuration de Nagios avant de le faire. Pour le moment,contentez-vous de suivre les directions prcises ci-dessous et vous pourrezsuperviser vos machines Windows en un rien de temps.

    Pr-requis :La premire fois que vous configurez Nagios pour superviser une machine

    Windows, vous avez un peu plus de travail faire. Souvenez-vous, vous n'avez le faire que pour la *premire* machine Windows superviser.

    ditez le fichier de configuration principal de Nagios :

    #vi /usr/local/nagios/etc/nagios.cfg

    Supprimez le caractre (#) du dbut de la ligne suivante du fichier deconfiguration principal :

    #cfg_file=/usr/local/nagios/etc/objects/windows.cfg

    Enregistrez le fichier et quittez.

  • 8/12/2019 Projet Nagios

    22/35

    Mise en uvre dune solution de supervision Open Source Nagios

    22

    Installation de l'agent Windows :

    Ces instructions vont vous guider au cours d'une installation simple de

    NSClient++ ainsi que pour la configuration de Nagios pour superviser unemachine Windows.

    1. Tlchargez la dernire version stable de NSClient++ depuishttp://sourceforge.net/projects/nscplus

    2. Dzippez les fichiers de NSClient++ dans un nouveaurpertoire C:\NSClient++

    3. Ouvrez une fentre de commande et dplacez-vous dans lerpertoire C:\NSClient++

    4. Installez le service systme NSClient++ avec la commande suivante:C:\> nsclient++ /install

    Installez le module NSClient++ pour la barre des tches avec la commandesuivante :

    C:\> nsclient++ SysTray

    5. Ouvrez le gestionnaire des services et assurez-vous que le serviceNSClientpp est autoris interagir avec le bureau (regardez sous l'onglet'Log On' du gestionnaire de services). Cochez la case correspondante si

    ce n'est dj fait :

    http://sourceforge.net/projects/nscplushttp://sourceforge.net/projects/nscplus
  • 8/12/2019 Projet Nagios

    23/35

    Mise en uvre dune solution de supervision Open Source Nagios

    23

    6. ditez le fichier NSC.INI(situ dans le rpertoire C:\NSClient++) eteffectuez les changements suivants:

    Dcommentez tous les modules lists dans la section [modules],excepts CheckWMI.dllet RemoteConfiguration.dll

    Exigez optionnellement un mot de passe des clients en remplaantl'option passworddans la section [Settings].

    Dcommentez l'option allowed_hostsdans la section [Settings].Ajoutez l'adresse IP du serveur Nagios cette ligne, ou laisser videpour autoriser n'importe quel hte se connecter.

    Assurez-vous que l'option portdans la section [NSClient] soitdcommente et rgle sur '12489' (le port par dfaut).

    7. Dmarrez le service NSClient++ avec la commande suivante:

    C:\> nsclient++ /start

    Configuration de Nagios :

    Il est temps maintenant de dfinir quelquesdfinitions d'objets dans lesfichiers de configuration Nagios pour pouvoir superviser la nouvelle machineWindows.

    Ouvrez le fichier windows.cfgpour dition :#vi /usr/local/nagios/etc/objects/windows.cfg

    http://doc.monitoring-fr.org/3_0/html/configuringnagios-objectdefinitions.htmlhttp://doc.monitoring-fr.org/3_0/html/configuringnagios-objectdefinitions.html
  • 8/12/2019 Projet Nagios

    24/35

    Mise en uvre dune solution de supervision Open Source Nagios

    24

    Ajouter une nouvelle dfinition d'htepour la machine Windows que voussouhaitez superviser. Si c'est la *premire* que vous supervisez, vous pouvezsimplement modifier l'exemple de dfinition d'hte dans windows.cfg.

    Remplacez les champs host_name, alias, et addresspar les valeursappropries pour votre machine Windows.

    define host {

    use windows-server ; Inherit default values from a Windows server template (make sure

    you keep this line!)

    host_name winserver

    alias My Windows Server

    address 192.168.1.2

    }

    Maintenant vous pouvez ajouter quelques dfinitions de services (dans lemme fichier de configuration) pour indiquer Nagios de superviser diffrentsaspects de la machine Windows. Si c'est votre *premire* machine Windows,vous pouvez simplement modifier les dfinitions exemples de servicesdans windows.cfg.

    Ajoutez la dfinition de service suivante pour contrler la version du addonNSClient++ tournant sur le serveur Windows. Cela devient utile quand il s'agitde mettre jour des serveurs Windows vers une nouvelle version du addon, envous permettant de dterminer quelles sont les machines Windows ncessitantune mise jour vers la dernire version de NSClient++.

    define service {

    use generic-service

    host_name winserver

    service_description NSClient++ Version

    check_command check_nt!CLIENTVERSION

    }

    Superviser le temps coul de dernier dmarrage :

    Ajoutez la dfinition de service suivante pour superviser le temps couldepuis le dernier re/dmarrage du serveur Windows.

    define service {

    use generic-service

    host_name winserver

    service_description Uptime

    check_command check_nt!UPTIME

    }

    http://doc.monitoring-fr.org/3_0/html/configuringnagios-objectdefinitions.html#configuringnagios-objectdefinitions-hosthttp://doc.monitoring-fr.org/3_0/html/configuringnagios-objectdefinitions.html#configuringnagios-objectdefinitions-hosthttp://doc.monitoring-fr.org/3_0/html/configuringnagios-objectdefinitions.html#configuringnagios-objectdefinitions-hosthttp://doc.monitoring-fr.org/3_0/html/configuringnagios-objectdefinitions.html#configuringnagios-objectdefinitions-host
  • 8/12/2019 Projet Nagios

    25/35

    Mise en uvre dune solution de supervision Open Source Nagios

    25

    Superviser la charge CPU

    Ajoutez la dfinition de service suivante pour superviser la charge CPU duserveur Windows et gnrer une alerte CRITICAL si la charge CPU des 5dernires minutes est gale 90% ou plus ou une alerte WARNING si la

    charge CPU des 5 dernires minutes est gale 80% ou plus.define service {

    use generic-service

    host_name winserver

    service_description CPU Load

    check_command check_nt!CPULOAD!-l 5,80,90

    }

    superviser l'utilisation de la mmoire :

    Ajoutez la dfinition de service suivante pour superviser l'utilisation de lammoire du serveur Windows et gnrer une alerte CRITICAL si l'utilisation dela mmoire est gale 90% ou plus ou une alerte WARNING si l'utilisation de lammoire est gale 80% ou plus :

    define service {

    use generic-service

    host_name winserver

    service_description Memory Usage

    check_command check_nt!MEMUSE!-w 80 -c 90}

    superviser l'utilisation de la disque :

    une alerte CRITICAL si l'espace utilis du disque est gale 90% ou plusou une alerte WARNING si l'espace utilis du disque est gale 80% ou plus.

    define service {

    use generic-service

    host_name winserver

    service_description C:\ Drive Spacecheck_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90

    }

    superviser l'tat du service W3SVC :

    Ajoutez la dfinition de service suivante pour superviser l'tat du serviceW3SVC et gnrer une alerte CRITICAL si ce service est arrt :

    define service {

    use generic-service

    host_name winserver

    service_description W3SVCcheck_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC

    }

  • 8/12/2019 Projet Nagios

    26/35

    Mise en uvre dune solution de supervision Open Source Nagios

    26

    superviser l'tat du processus :

    Ajoutez la dfinition de service suivante pour superviser l'tat du processus

    Explorer.exe et gnrer une alerte CRITICAL si ce processus ne tourne pas :define service {

    use generic-service

    host_name winserver

    service_description Explorer

    check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe

    }

    Voil pour le moment. Nous avouns ajout des services simples qui

    devraient tre superviss sur les machines Windows. Enregistrez le fichier deconfiguration.

    Protection par mot de passe :

    Si vous avez prcis un mot de passe dans le fichier de configuration deNSClient++ de la machine Windows, vous aurez besoin de modifier la dfinitionde commande check_ntpour inclure le mot de passe. Ouvrez lefichiercommands.cfgpour dition.

    #vi /usr/local/nagios/etc/commands.cfg

    Modifiez la dfinition de la commande check_ntpour inclure l'argument -s (o PASSWORD est le mot de passe prcis sur la machineWindows) comme suit:

    define command {

    command_name check_nt

    command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$$ARG2$

    }

    Enregistrez le fichier de configuration.

  • 8/12/2019 Projet Nagios

    27/35

    Mise en uvre dune solution de supervision Open Source Nagios

    27

    Voil la machine windows a t ajoute :

  • 8/12/2019 Projet Nagios

    28/35

    Mise en uvre dune solution de supervision Open Source Nagios

    28

    6)Supervision des machines linux/Unix :

    La supervision des machines linux se fait grce a linstallation du pluginCheck_nrpe sur nagios et linstallation du dmon NRPE surla machine distant.

    Configuration de l'hte distant:

    Crer des informations de compte :

    # useradd nagios

    # passwd nagios

    Installer des Plugins Nagios:

    Extraire les plugins Nagios.

    # tar xzf nagios-plugins-(version).tar.gz

    # cd nagios-plugins-(version)

  • 8/12/2019 Projet Nagios

    29/35

    Mise en uvre dune solution de supervision Open Source Nagios

    29

    Compilation et installation des plugins :

    # ./configure --with-nagios-user=nagios --with-nagios-group=nagios

    # make

    # make insallLes autorisations sur le rpertoire des plugins et les plugins devront tre fix

    ce point, alors excutez les commandes suivante :

    #chown nagios.nagios /usr/local/nagios

    #chown -R nagios.nagios /usr/local/nagios/libexec

    #Yum install xinetd (demon qui gere les connexions internet )

    #Yum install openssl-devel

    Installation de dmon NRPE:

    Extraire NRPE code source :

    #tar xzf nrpe-(version).tar.gz

    #cd nrpe-(version)

    #yum install openssl-devel

    Compiler l'addon nrpe :

    #. / Configure

    #make all

    Installez le plugin NRPE :

    make install-plugin

    make install-daemon

    make install-daemon-config

    Installer le dmon NRPE comme un service sous xinetd :

    #make install-xinetd

    ditez le fichier /etc/xinetd.d/nrpe et ajoutez l'adresse IP du serveur de contrle dela directive only_from.

    only_from = 127.0.0.1

    Ajoutez l'entre suivante pour le dmon NRPE au fichier /etc/services :

    nrpe 5666/tcp #NRPE

    Redmarrez le service xinetd :

    #service xinetd restart

  • 8/12/2019 Projet Nagios

    30/35

    Mise en uvre dune solution de supervision Open Source Nagios

    30

    Assurez-vous que le dmon nrpe tourne sous xinetd on tape la commande :

    #Netstatat | grep nrpe

    La sortie hors de cette commande devrait donner le rsultat suivant:

    tcp 0 0 *: nrpe *:* LISTEN

    #/usr/local/nagios/libexec/check_nrpe -H localhost

    Permet de connaitre letat de nrpe si est fonctionnelle NRPE v2.8 .

    #iptables -I INPUT -p tcp -m tcp --dport 5666 -j ACCEPT

    Assurez-vous que le pare-feu local sur la machine permettra le dmon NRPEpour tre accessibles partir de serveurs distants.

    Enregistrer la configuration du pare-feu laide du commande :

    #service iptables save#service iptables restart

    Crer une dfinition de commande:

    Vous aurez besoin de crer une dfinition de commande dans l'un de vosfichiers de configuration Nagios objet afin de pouvoir utiliser la check_nrpe plugin.Ouvrez le fichier de l'chantillon commands.cfg pour l'dition ... #vi/usr/local/nagios/etc/objects/commands.cfg Et ajouter la dfinition suivante dans lefichier:

    Vous tes maintenant prt lancer les services en ajoutant que doivent tresurveills sur la machine distante l'Nagios configuration ...

    Installation de check_nrpe sur nagios: Installation de check_nrpe sur nagios:

    Extraire NRPE code source.# tar xzf nrpe-2.12.tar.gz

    # cd nrpe-2.12

    Compiler NRPE.

    # ./configure

    # make all

    Installez NRPE.

    # make install-plugin

  • 8/12/2019 Projet Nagios

    31/35

    Mise en uvre dune solution de supervision Open Source Nagios

    31

    Cre un fichier dans /usr/local/nagios/etc/object/*nom-du-fichier.cfg* Pourajouter des service quand doit Supervis sur la machine distante Ajouter la lignedu commande suivante dans le fichier :

    /usr/local/nagios/etc/object/*nom-du-fichier.cfg*

    /usr/local/nagios/etc/nagios.cfg

    Cre les services de supervision dans ce fichier :

  • 8/12/2019 Projet Nagios

    32/35

    Mise en uvre dune solution de supervision Open Source Nagios

    32

    Redmarrage de nagios.

    Les machines linux(Fedora) et Windows ont t ajoute :

  • 8/12/2019 Projet Nagios

    33/35

    Mise en uvre dune solution de supervision Open Source Nagios

    33

    XII Scurisation de Nagios :

    Dans un environnement de production, il est fortement dconseill dedployer un systme de supervision si la Dans un environnement deproduction, il est fortement dconseill de dployer un systme de supervisionsi la scurit de ce dernier ne doit pas tre assure. Cela augmenterait les

    risques de compromission du systme scurit de ce dernier ne doit pas treassure. Cela augmenterait les risques de compromission du systmed'information. Par dfaut, les changes entre les serveurs Nagios et lesmachines superviser tant en clair sur d'information. Par dfaut, les changesentre les serveurs Nagios et les machines superviser tant en clair sur lerseau, imaginez un event handler que vous avez mis en place pourredmarrer un service en cas d'un tat le rseau, imaginez un event handlerque vous avez mis en place pour redmarrer un service en cas d'un tatWarningpar exemple.

  • 8/12/2019 Projet Nagios

    34/35

    Mise en uvre dune solution de supervision Open Source Nagios

    34

    Un pirate peut se mettre entre un serveur Nagios et une machinesupervise, et envoyer des codes de retour Un pirate peut se mettre entre unserveur Nagios et une machine supervise, et envoyer des codes de retourrrons au serveur. Celui ci passera son temps redmarrer le service, ce qui

    est problmatique.

    Il est donc conseill pour le dploiement de Nagios, de respecter unensemble de bonnes pratiques (Best practice) et selon les schmas ci-dessuspour assurer sa scurisation. Voici quelques unes de ces bonnes practice) etselon les schmas ci-dessus pour assurer sa scurisation. Voici quelques unesde ces bonnes pratiques:

    Utilisation des serveurs de supervision ddis Eviter d'excuter Nagios sous l'identit root S'assurer que seul l'utilisateur nagiosest capable de lire et crire dans

    le rpertoire des rsultats Exiger l'authentification pour l'accs aux CGI Cacher les informations sensives avec les macros $USERSn$ Scuriser les accs aux agents (NRPE, NSCA, etc.) distants Scuriser les canaux de communication entre le serveur Nagios et les

    agents de communication, par exemple en Scuriser les canaux de

    communication entre le serveur Nagios et les agents de communication,par exemple en cryptant ces communications.

  • 8/12/2019 Projet Nagios

    35/35

    Mise en uvre dune solution de supervision Open Source Nagios

    XIII Conclusion :

    Les rseaux sont devenus un pilier de lconomie mondiale. Les besoins etles enjeux de ces technologies ne cessant daugmenter, la supervision est alorsapparue pour apporter une garantie de fiabilit, de ractivit et dadquationdes moyens mis en place. Nanmoins la grande disparit de ces technologiesde rseau pose un certain nombre de problmes : comment superviser toutesces technologies, comment rcuprer les informations, etc.

    Les organismes de normalisations ont t les premiers apporter unerponse en dfinissant un format commun des donnes, un modledadministration pour lesadresser et des protocoles pour les communiquer. Lamise en place dune procdure de supervision de rseaux passe alors

    forcement par lapplication concrte dune de ces normes, sans laquelle il estimpossible dobtenir une relle plus valu sur ladministration de son reseau. Leseul vritable standard actuel du monde IP labore a partir de ces normes estle protocole SNMP. Il constitue la base de la majorit des plateformeslogicielles de supervision rseau dont Nagios, une des plus populaires.

    Nagios russit, grce son exploitation intelligente des capacits destechnologies Unix, proposer une plate-forme de supervision dune grandevariete de services, complte et facilement modulable.

    Elle rpond aux besoins de supervision de nombreux services bases surdes protocoles diffrents et a su prsenter des fonctionnalits adaptes auxattentes concrtes de la supervision comme laccessibilitet ses interactions distance, lautomatisation des remontesdalarmes jusquaux administrateurs,ou encore les comptes-rendus et historiques graphiques des vnements durseau.