1.1 Installation de Apache2 / PHP5 / MYSQL5 1.2 Installation des
Transcription
1.1 Installation de Apache2 / PHP5 / MYSQL5 1.2 Installation des
INSTALLATION DE NAGIOS 2.10 et CENTREON 1.4.2.3 sous Debian ETCH 4.0r1 Attention : Comme la plupart des logiciels utilisés auront besoin d’être compilés, il est nécessaire d’installer quelques packages nécessaires : # apt-get install gcc libc6-dev flex make sudo Maintenant, on peut commencer à installer les logiciels : 1.1 Installation de Apache2 / PHP5 / MYSQL5 # apt-get install apache2 mysql-server php5 1.2 Installation des Modules PHP # apt-get install php5-mysql php5-pear php5-snmp php5-posix php5-gd 1.3 Installation de RRD Tool # apt-get install install rrdtool 1.4 Installation de SNMP # apt-get install snmp snmpd libnetsnmp-perl 1.5 Installation de Nmap # apt-get install nmap 1.6 Installation de Modules PERL # apt-get install libgd-gd2-perl libnet-snmp-perl librrds-perl 1.7 Installation des paquets PEAR # pear install -o -f –alldeps DB DB_DataObject DB_DataObject_FormBuilder MDB2 Date Numbers_Roman Numbers_Words HTML_Common HTML_QuickForm HTML_QuickForm_advmultiselect HTML_Table Auth_SASL HTTP Image_Canvas Image_Color Image_Graph Image_GraphViz Mail Mail_Mime Net_SMTP Net_Socket Net_Traceroute Net_Ping Validate XML_RPC SOAP Mail_Mime-1.3.1 HTML_Table-1.6.1 Numbers_Roman-1.0.1 INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 2/25 2 INSTALLATION DE NAGIOS 2.10 : 2.1 Installation du paquet Nagios 2.10 Se rendre dans le répertoire de stockage des sources. # cd /usr/local/src Télécharger les sources de Nagios. # wget http://dfn.dl.sourceforge.net/sourceforge/nagios/nagios2.10.tar.gz Décompresser et compiler l’archive # tar -zxvf nagios-2.10.tar.gz # cd nagios-2.10 # ./configure –prefix=/usr/local/nagios –with-cgiurl=/nagios/cgi-bin –with-htmurl=/nagios/ –with-nagios-user=nagios –with-nagiosgroup=nagios –with-command-group=nagios # make all # make install # make install-init # make install-commandmode 2.2 Installation des plugins Nagios 1.4.11 Se rendre dans le répertoire de stockage des sources. # cd /usr/local/src Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 3/25 Télécharger les sources des plugins Nagios. # wget http://heanet.dl.sourceforge.net/sourceforge/nagiosplug/nagiosplugins-1.4.11.tar.gz # tar -zxvf nagios-plugins-1.4.11.tar.gz # cd Nagios-plugins-1.4.11 #./configure # make && make install 2.3 Paramétrage des fichiers de configuration Nagios Effectuer un : # ll /usr/local/nagios/etc Voici un aperçu rapide de l’ensemble des fichiers de configuration Nagios : cegid.cfg resource.cfg web.cfg cgi.cfg services_windows.cfg checkcommands.cfg services.cfg commands.cfg services.cfg.old contactgroups.cfg services_switches.cfg contacts.cfg services_web.cfg misccommands.cfg site_ulm.cfg hostextinfo.cfg site_dufour.cfg htpasswd.users site_jussieu.cfg linux.cfg site_lavanne.cfg localhost.cfg site_peri.cfg services_cegid.cfg windows.cfg nagios.cfg switches.cfg nrpe2.cfg switches_paris.cfg nrpe.cfg timeperiods.cfg L’ensemble de ces fichiers de configuration dépend du fichier nagios.cfg, puisque celui-ci les appelle au démarrage de nagios. Donc chaque nouveau fichier de configuration doit être mentionné dans ce fichier s’il veut être pris en compte. - Les fichiers commands.cfg et checkcommands.cfg sont utilisés pour configurer les commandes utilisées par Nagios. - Le fichier localhost.cfg contient les services monitorés du serveur Nagios lui-même. - Le fichier contactgroups.cfg sert à définir les groupes de notifications de Nagios (Personnes qui recevront les mails d’alerte) Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 4/25 - Le fichier contacts.cfg sert lui à définir les profils des membres des groupes de notifications. Ensuite, on peut soit – même éditer des fichiers soit pour des groupes d’hôtes ou de services. Par exemple, les fichiers linux.cfg et windows.cfg définissent respectivement les groupes de serveurs linux et Windows, comme ceci : define hostgroup{ Ici, définition du groupe d’hôtes hostgroup_name linux alias serveurs linux members shiva,visnu,kali,ganesh } Avec dessous une définition par hôte membre du groupe : define host{ ;use host_name alias address check_command max_check_attempts check_period notification_interval notification_period notification_options contact_groups parents } linux shiva shiva 198.167.252.51 check-host-alive 5 24x7 120 24x7 d,r linux 198.167.252.62 On y définit les périodes de notification, l’IP, l’adresse IP du parent (équipement auquel est relié le serveur : Switch, routeur, firewall,..), et les options de notifications. On remarque ici, que le serveur est monitoré en 24x7, avec des notifications pour les statuts down (d) et recovery (r) au groupe de notification linux définit dans le fichier contactgroups.cfg Les fichiers services.cfg et services_windows.cfg définissent eux les services respectifs des deux groupes d’hôtes cités précédemment. On y retrouve principalement les services : - check_disk - check_smtp - check_dns - check_pop - check_ping - check_cpu - check_ftp - check_nrpe - check_mémoire - check_http - check_oracle - check_sqlserver - check_sqlagent - check_sqlbrowser - check_sqlwriter - check_bnpr - check_listener_oracle - check_nt_disk_X (lettre du lecteur à surveiller : C, D, E,…) N.B: les commandes en rouges sont des alias configurés dans les fichiers commands.cfg et checkcommands.cfg. Ils ont en commun de monitorer l’état de démons Windows. Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 5/25 Exemple pour les démons Windows (fichiers commands.cfg et checkcommands.cfg) : ######################## CHECK PROCESSUS WINDOWS define command{ command_name check_oracle command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v PROCSTATE l oracle.exe -s dsi } define command{ command_name check_listener_oracle command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v PROCSTATE l tnslsnr.exe -s dsi } define command{ command_name check_sqlserver command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v PROCSTATE l sqlservr.exe -s dsi } Exemple pour les partitions Windows : # Etat disque C define command{ command_name check_nt_disk_C command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v USEDDISKSPACE -s dsi -l C -w $ARG1$ -c $ARG2$ } # Etat disque D define command{ command_name check_nt_disk_D command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 1248 -v USEDDISKSPACE -s dsi -l D -w $ARG1$ -c $ARG2$ } Enfin, le fichier hostextinfo.cfg contient les informations qui vont être utilisées par la map de Nagios, à savoir des commentaires sur le serveur, l’adresse, ainsi qu’une image (icône) associée : define hostextinfo{ host_name icon_image icon_image_alt vrml_image statusmap_image } shiva serveurwin.jpg Serveur Windows serveurwin.jpg serveurwin.jpg N.B: les images sont stockées dans le répertoire /usr/local/nagios/share/images Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 6/25 Une fois alias de commandes définis, et les hôtes déclarés ; on leur attribue des services. Pour cela, il est bon de scinder un minimum les fichiers de configuration, afin d’avoir une meilleure visibilité d’ensemble. Dans notre cas, nous avons deux fichiers principaux de configuration pour les services : services.cfg et services_windows.cfg. Exemple pour le service check_ping: define service{ host_name service_description is_volatile check_period max_check_attempts normal_check_interval retry_check_interval contact_groups notification_options notification_interval notification_period check_command } define servicegroup{ servicegroup_name alias members } Légende: shiva PING_WINDOWS 0 24x7 40 5 1 linux w,u,c,r 960 24x7 check_ping!500.0,50%!5000.0,100% PING_WINDOWS PING_WINDOWS shiva,PING_WINDOWS rouge= seuil warning d’alerte bleu= seuil critique d’alerte Les seuils de criticité définis ci-dessus servent de palier en dessous desquels les notifications ne sont pas transmises. Dans les définitions (ou alias) de commandes des fichiers commands.cfg et checkcommands.cfg, les seuils de criticité sont définis en tant qu’arguments représentés par des acronymes du type : $ARG1$ ou $ARG2$ Important : On doit déclarer UN servicegroup pour l’ensemble des serveurs sujets à un même service. C'est-à-dire que l’ensemble des hôtes monitorés doivent être déclarés comme le serveur scerentox ci-dessus, et déclarer ensuite chacun de ceux-cis dans la section « members » en bas, en séparant systématiquement les hôtes et les services par une virgule. Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 7/25 2.4 Installation de NRPE 2.5.2 On récupère les sources depuis un serveur existant : # cd /usr/local/src # scp [email protected]:/usr/local/src/nrpe-2.5.2.tar.gz . On décompresse et compile nrpe: # # # # tar xzf nrpe-2.5.2.tar.gz cd nrpe-2.5.2 ./configure –disable-ssl –enable-command-args make all Il faut alors copier : Le plugin (check_nrpe) dans /usr/local/nagios/libexec/ : # cp src/check_nrpe /usr/local/nagios/libexec/ Editer les fichiers de définition de commandes : # vi /usr/local/nagios/etc/commands.cfg Puis # vi /usr/local/nagios/etc/checkcommands.cfg Et y ajouter: #plug in nrpe define command{ command_name check_nrpe command_line $USER1$/check_nrpe } -H $HOSTADDRESS$ -c $ARG1$ On peut ensuite tester des commandes nrpe depuis le serveur Nagios vers un client déjà configuré (cf. chapitre7): Avec ces commandes : # /usr/local/nagios/libexec/check_nrpe -H adresse_serveur_supervisé_Linux -c check_load Puis : # /usr/local/nagios/libexec/check_nrpe -H adresse_serveur_supervisé_Windows -c check_cpu Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 8/25 2.5 Configuration Apache Editer le Virtual Host apache comme ceci : # vi /etc/apache2/sites-available/Nagios Y ajouter cela : ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin <Directory "/usr/local/nagios/sbin"> Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory> Alias /nagios /usr/local/nagios/share <Directory "/usr/local/nagios/share"> Options None AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory> Autoriser le site apache si cela n’est pas déjà fait : # cd /etc/apache2/sites-available # a2ensite Nagios Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 9/25 On redémarre ensuite le serveur Apache : # /etc/init.d/apache2 reload 2.6 Création de l’utilisateur web Nagios La commande suivante crée le fichier ou sont stockés les mots de passe cryptés des utilisateurs habilités à se connecter à Nagios. # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin 2.7 Paramétrage de l’authentification par CGI Editer le fichier de configuration des scripts CGI : # vi /usr/local/nagios/etc/cgi.cfg Et ajouter : # use_authentication=1 On peut ensuite accéder au site à l’URL suivante : http://monserveur/nagios 3 INSTALLATION DE CENTREON : 3.1 Installation de Centreon Centreon est une interface d’administration de Nagios plus conviviale, avec une traduction française, et des options de reporting supplémentaire à Nagios. On télécharge et installe depuis les sources : # # # # # cd /usr/local/src wget http://download.oreon-project.org/index.php?id=73 tar -zxvf centreon-1.4.2.3.tar.gz cd centreon-1.4.2.3 ./install.sh Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 10/25 Une série de test s’en suit. Au moindre message d’erreur, regarder attentivement l’explication, il s’agit soit d’un répertoire n’existant pas, ou n’ayant pas les droits nécessaires à une installation ; ou éventuellement, de paths (chemins) vers des librairies spécifiées dans le script d’installation. Le script configure également Apache pour pouvoir accéder à l’interface de Centreon, à cette url : http://monserveur/centreon à laquelle il faut se rendre afin de procéder à la fin de l’installation. Cela ressemble à ceci : Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 11/25 Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 12/25 Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 13/25 Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 14/25 Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 15/25 Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 16/25 Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 17/25 Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 18/25 4 PARAMETRAGE DES CLIENTS SUPERVISES : 4.1 Clients Linux Il faut au préalable créer l’utilisateur et le groupe nagios, ainsi que l’arborescence nécessaire à l’installation des binaires nrpe ; puis télécharger les sources et les compiler. # # # # # # # # # useradd nagios groupadd nagios mkdir /usr/local/nagios/ mkdir /usr/local/nagios/bin/ mkdir /usr/local/nagios/etc/ cd /usr/local/src scp [email protected]:/usr/local/src/nrpe-2.5.2.tar.gz cd nrpe-2.5.2 ./configure –disable-ssl –enable-command-args On obtient: *** Configuration summary for nrpe 2.5.2 06-30-2006 ***: General Options: ------------------------NRPE port: 5666 NRPE user: nagios NRPE group: nagios Review the options above for accuracy.If they look okay,type 'make all' to compile the NRPE daemon and client. # make all Il faut alors copier : L’agent nrpe (nrpe) dans /usr/local/nagios/bin/ : # src/nrpe /usr/local/nagios/bin/ Le fichier de configuration de nrpe (nrpe.cfg) dans /usr/local/nagios/etc/ : # cp sample-config/nrpe.cfg /usr/local/nagios/etc/ Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 19/25 Editer ensuite le fichier nrpe.cfg : # vi /usr/local/nagios/etc/nrpe.cfg Et y mettre les variables suivantes: # # # # # # # # server_port=5666 server_address=177.28.14.252 nrpe_user=nagios nrpe_group=nagios allowed_hosts=177.28.14.252 dont_blame_nrpe=1 debug=1 command_timeout=60 A la fin du fichier on peut définir des alias de commandes appelées depuis le serveur. Dans notre cas, nous avons créé des alias qui servent à tester l’état des principales partitions Unix. command[check_slash]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p / command[check_home]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /home command[check_var]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 p /var command[check_usr]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 p /usr Il faut aussi copier sur ce serveur tous les plugins qui seront utilisés par les commandes définies dans nrpe.cfg (ces plugins seront dans /usr/local/nagios/libexec/) Installer les plugins officiels nagios : # cd /usr/local/src #scp [email protected]:/usr/local/src/nagios-plugins-1.4.11.tar.gz . # tar xzf nagios-plugins-1.4.11 # cd nagios-plugins-1.4.11 # ./configure # make all # make install Donner les droits : # chown –R nagios.nagios /usr/local/nagios/ Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 20/25 L’agent nrpe peut être démarré en daemon avec la commande suivante : # /usr/local/nagios/bin/nrpe –c /usr/local/nagios/etc/nrpe.cfg –d On peut également créer un script de démarrage dans /etc/init.d # vi /etc/init.d/nrpe Et y mettre: #!/bin/sh #/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d NrpeBin=/usr/local/nagios/bin/nrpe NrpeCfg=/usr/local/nagios/etc/nrpe.cfg #LockFile=/var/run/nrpe.pid # See how we were called. case "$1" in start) # Start daemons. echo -n "Starting nrpe: " $NrpeBin -c $NrpeCfg -d echo #touch $LockFile ;; stop) # Stop daemons. echo -n "Shutting down nrpe: " kill -9 `pidof nrpe` echo rm -f $LockFile ;; restart) $0 stop $0 start ;; status) status nrpe ;; *) echo "Usage: nrpe {start|stop|restart|status}" exit 1 esac exit 0 Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 21/25 Cela permettra notamment de pouvoir redémarrer l’agent nrpe comme les autres démons avec la commande : # /etc/init.d/nrpe start/stop On pourra aussi vérifier l’état du service en cas de problème avec la commande suivante: # ps –ef | grep nrpe Si tout marche on obtient: CERBERE:/etc/rc5.d# ps -ef | grep nrpe nagios 6597 1 0 May13 ? 00:00:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 4.2 Clients Windows Télécharger, dé zipper, installer NSClient++ (version 0.3.0 je n'ai pas encore rencontré de problèmes avec) ici > http://trac.nakednuns.org/nscp/downloads. L'installation est très simple. Dans une fenêtre DOS (Démarrer>exécuter>cmd), se placer dans le répertoire de NSClient++ et taper ces trois commandes : # cd C:\Program Files\NSClient++-Win32-0.3.1 # NSClient++ /install # NSClient++ /start NSClient++ est alors installé en tant que service sous le nom NSClientpp (Nagios) Dans le répertoire NSClient++-Win32-0.3.1, éditer le fichier NSC.ini et dé commenter les lignes suivantes : FileLogger.dll CheckSystem.dll CheckDisk.dll NSClientListener.dll NRPEListener.dll SysTray.dll CheckEventLog.dll CheckHelpers.dll allowed_hosts=177.28.14.252,<adresse_serveur_nagios> password=dsi (mot de passé utilise par nrpe) use_file=1 debug=1 file=NSC.log date_mask=%Y-%m-%d %H:%M:%S port=1248 CPUBufferSize=1h CheckResolution=10 port=5666 Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 22/25 nsca_host=177.28.14.252,<adresse_serveur_nagios> command_timeout=60 allow_arguments=1 allow_nasty_meta_chars=1 use_ssl=0 check_cpu=inject checkCPU ShowAll warn=80 crit=90 time=1m time=5m time=15m Enregistrer les modifications et redémarrer le service en ligne de commande: # cd C:\Program Files\NSClient++-Win32-0.3.1 # NSClient++ /stop # NSClient++ /start ON peut ensuite de la documentation sur l’utilisation des commandes NRPE ici : http://trac.nakednuns.org/nscp/wiki/CheckCommands Enfin, l’interface de Centreon permettra la visualisation de graphiques par hôtes/services afin d’élaborer des statistiques plus facilement. En voici un aperçu : Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc INSTALLATION SERVEUR CERBERE (NAGIOS) Rédacteur : Julien TEHERY Page n° 23/25 Date d’enregistrement 28/09/2008 nagioscentreon__3m14cuc0rf8nox6wm4pug1oopa001318_in.doc
Documents pareils
NAGIOS I/ Installation ( sur CentOS 6.4 32bit )
On installe ensuite le serveur web, le compilateur et php-mysql :
# Yum install httpd
-> apache
# Yum install gcc
->compilateur
# Yum install php php-mysql