« MONITORING - Installation Nagios 3.0.6 sur Corni » et « MONITORING - Configuration du monitoring RPS » : différence entre les pages

De PedroWiki
(Différence entre les pages)
Aller à la navigationAller à la recherche
imported>Jules
 
imported>Jules
Nouvelle page : = Introduction = Article "bloc-note" sur la mise en place du monitoring de rps.pedrono.fr = Objectifs = Monitoring de services: * monitorer le service "ssh" * monitorer le service...
 
Ligne 1 : Ligne 1 :
= Introduction =
= Introduction =


Article "bloc-note" sur l'installation de Nagios 3.0.6 sur Corni.peaudeau.fr.
Article "bloc-note" sur la mise en place du monitoring de rps.pedrono.fr


But du Nagios: surveillance des services sur r14493.ovh.net, a.k.a rps.pedrono.fr.
= Objectifs =


= Installation =
Monitoring de services:
* monitorer le service "ssh"
* monitorer le service "http"
* monitorer le service "ftp"


== Guide d'installation ==
Monitoring NRPE:
* monitorer la queue de mail (détection d'utilisation frauduleuse du smtp)
* monitorer le remplissage de /
* monitorer le remplissage de /home (sites web)
* monitorer les utilisateurs connectés
* monitorer la charge système


[http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html Installation Nagios 3.x - Ubuntu quickstart]
= Configuration =


== Téléchargement de Nagios ==
== Référence documentaire ==
 
jules@corni:/home/jules/$ wget http://switch.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.6.tar.gz
jules@corni:/home/jules/$ tar xvzf nagios-3.0.6.tar.gz
jules@corni:/home/jules/$ wget http://puzzle.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz
jules@corni:/home/jules/$ tar xvzf nagios-plugins-1.4.13.tar.gz
 
== Vérification des prérequis ==
 
jules@corni:/home/jules/nagios-3.0.6$ dpkg -l|grep gcc
jules@corni:/home/jules/nagios-3.0.6$ dpkg -l|grep build
jules@corni:/home/jules/nagios-3.0.6$ sudo apt-get update
jules@corni:/home/jules/nagios-3.0.6$ sudo apt-get install build-essential
jules@corni:/home/jules/nagios-3.0.6$ sudo apt-cache search gd2
jules@corni:/home/jules/nagios-3.0.6$ sudo apt-get install libgd2-xpm-dev
 
== Gestion des droits utilisateurs ==
 
jules@corni:/home/jules/nagios-3.0.6$ sudo useradd -m nagios
jules@corni:/home/jules/nagios-3.0.6$ sudo passwd nagios
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
jules@corni:/home/jules/nagios-3.0.6$
jules@corni:/home/jules/nagios-3.0.6$ sudo usermod -G nagios nagios
jules@corni:/home/jules/nagios-3.0.6$ sudo groupadd nagcmd
jules@corni:/home/jules/nagios-3.0.6$ sudo usermod -a -G nagcmd nagios
jules@corni:/home/jules/nagios-3.0.6$ sudo usermod -a -G nagcmd www-data
 
== Compilation de Nagios ==
 
jules@corni:/home/jules/nagios-3.0.6$ sudo ./configure --with-command-group=nagcmd
...
*** Configuration summary for nagios 3.0.6 12-01-2008 ***:
  General Options:
  -------------------------
        Nagios executable:  nagios
        Nagios user/group:  nagios,nagios
        Command user/group:  nagios,nagcmd
            Embedded Perl:  no
              Event Broker:  yes
        Install ${prefix}:  /usr/local/nagios
                Lock file:  ${prefix}/var/nagios.lock
    Check result directory:  ${prefix}/var/spool/checkresults
            Init directory:  /etc/init.d
  Apache conf.d directory:  /etc/apache2/conf.d
              Mail program:  /bin/mail
                  Host OS:  linux-gnu
  Web Interface Options:
  ------------------------
                  HTML URL:  http://localhost/nagios/
                  CGI URL:  http://localhost/nagios/cgi-bin/
  Traceroute (used by WAP): 
Review the options above for accuracy.  If they look okay,
type 'make all' to compile the main program and CGIs.
jules@corni:/home/jules/nagios-3.0.6$ sudo make all
...
jules@corni:/home/jules/nagios-3.0.6$ sudo make install
...
jules@corni:/home/jules/nagios-3.0.6$ sudo make install-init
...
jules@corni:/home/jules/nagios-3.0.6$ sudo make install-config
...
jules@corni:/home/jules/nagios-3.0.6$ sudo make install-commandmode
...
 
== Compilation et installation des nagios-plugins ==
 
jules@corni:/home/jules/nagios-3.0.6$ cd ../nagios-plugins-1.4.13/
jules@corni:/home/jules/nagios-plugins-1.4.13$ sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios
...
jules@corni:/home/jules/nagios-plugins-1.4.13$ sudo make
...
jules@corni:/home/jules/nagios-plugins-1.4.13$ sudo make install
...
 
= Configuration de Nagios =
 
== Contacts et ContactGroups ==
 
jules@corni:/home/jules/nagios-3.0.6$ sudo vi /usr/local/nagios/etc/objects/contacts.cfg
...
define contact{
        contact_name                    nagiosadmin   
        use                            generic-contact
        alias                          Nagios Admin 
        email                          jules@pedrono.fr       
        }
define contact{
        contact_name                    denis         
        use                            generic-contact
        alias                          Denis Peaudeau
        email                          denispeaudeau@gmail.com
        }
...
define contactgroup{
        contactgroup_name      admins
        alias                  Nagios Administrators
        members                nagiosadmin,denis
        }
 
== Installation configuration Apache ==
 
jules@corni:/home/jules/nagios-3.0.6$ sudo make install-webconf
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/conf.d/nagios.conf
*** Nagios/Apache conf file installed ***
jules@corni:/home/jules/nagios-3.0.6$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin
jules@corni:/home/jules/nagios-3.0.6$ sudo htpasswd /usr/local/nagios/etc/htpasswd.users denis
New password:
Re-type new password:
Adding password for user denis
jules@corni:/home/jules/nagios-3.0.6$
jules@corni:/home/jules/nagios-3.0.6$ sudo /etc/init.d/apache2 reload
  * Reloading web server config apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.0.30 for ServerName
                                                                                                                                                                                                          [ OK ]
jules@corni:/home/jules/nagios-3.0.6$
 
== Sécurisation des accès ==
 
'''A FAIRE''' [http://nagios.sourceforge.net/docs/3_0/cgisecurity.html Sécuriser les accès CGI]
 
= Lancement de Nagios =
 
== Création des liens symbolique pour l'init du système ==
 
jules@corni:/home/jules/nagios-plugins-1.4.13$ sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
 
== Vérification de la configuration de Nagios ==
 
jules@corni:/home/jules/nagios-plugins-1.4.13$ sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios 3.0.6
Copyright (c) 1999-2008 Ethan Galstad (http://www.nagios.org)
Last Modified: 12-01-2008
License: GPL
Reading configuration data...
Running pre-flight check on configuration data...
Checking services...
Checked 8 services.
Checking hosts...
Checked 1 hosts.
Checking host groups...
Checked 1 host groups.
Checking service groups...
Checked 0 service groups.
Checking contacts...
Checked 2 contacts.
Checking contact groups...
Checked 1 contact groups.
Checking service escalations...
Checked 0 service escalations.
Checking service dependencies...
Checked 0 service dependencies.
Checking host escalations...
Checked 0 host escalations.
Checking host dependencies...
Checked 0 host dependencies.
Checking commands...
Checked 24 commands.
Checking time periods...
Checked 5 time periods.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...
'''Total Warnings: 0'''
'''Total Errors:  0'''
Things look okay - No serious problems were detected during the pre-flight check
jules@corni:/home/jules/nagios-plugins-1.4.13$
 
== Lancement de Nagios ==
 
jules@corni:/home/jules/nagios-plugins-1.4.13$ sudo /etc/init.d/nagios start
Starting nagios: done.
jules@corni:/home/jules/nagios-plugins-1.4.13$ ps fax
...
10688 ?        Ssl    0:00 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
 
= Accès au service =
 
[http://home.peaudeau.fr/nagios/ Nagios sur Corni]
 
= Configuration des notifications =
 
== Installation de postfix ==
 
jules@corni:/home/jules/nagios-plugins-1.4.13$ sudo apt-get install postfix
...
 
* Postfix configuré comme "Système satellite".
* Nom de courrier pour le from: nagios@home.peaudeau.fr
* Relay: smtp.free.fr <p><font color="red">'''ATTENTION A LA FREQUENCE ET AUX ETATS DECLENCHEURS DES NOTIFICATIONS'''</font></p>
 
== Installation de mailutils ==
 
jules@corni:/home/jules/nagios-plugins-1.4.13$ sudo apt-get install mailutils
...
jules@corni:/home/jules/nagios-plugins-1.4.13$ ma
'''mail'''                        mailx                        make-memtest86+-boot-floppy  make-ssl-cert                mandb                        mawk                       
mailq                        make                        make_method                  man                          manpath                     
jules@corni:/home/jules/nagios-plugins-1.4.13$ which mail
/usr/bin/mail
 
== Modification du fichier de commandes Nagios ==
 
jules@corni:/home/jules/nagios-plugins-1.4.13$ sudo vi /usr/local/nagios/etc/objects/commands.cfg
 
Substitution sed des référence à /bin/mail:
 
:%s/\/bin\/mail/\/usr\/bin\/mail/gc
 
Les nouvelles commandes:
 
# '''notify-host-by-email''' command definition
define command{
        command_name    notify-host-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | '''/usr/bin/mail''' -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
        }
 
# '''notify-service-by-email''' command definition
define command{
        command_name    notify-service-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | '''/usr/bin/mail''' -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
        }
 
Prise en compte de la configuration:
 
jules@corni:/home/jules/nagios-plugins-1.4.13$ sudo /etc/init.d/nagios restart
Running configuration check...done.
Stopping nagios: .done.
Starting nagios: done.
jules@corni:/home/jules/nagios-plugins-1.4.13$


[http://nagios.sourceforge.net/docs/3_0/monitoring-linux.html Monitorer des hôtes Linux]


[[Category:Monitoring]]
[[Category:Monitoring]]
[[Category:Securite]]
[[Category:Securite]]
[[Category:Howto]]
[[Category:Howto]]

Version du 22 mars 2009 à 14:13

Introduction

Article "bloc-note" sur la mise en place du monitoring de rps.pedrono.fr

Objectifs

Monitoring de services:

  • monitorer le service "ssh"
  • monitorer le service "http"
  • monitorer le service "ftp"

Monitoring NRPE:

  • monitorer la queue de mail (détection d'utilisation frauduleuse du smtp)
  • monitorer le remplissage de /
  • monitorer le remplissage de /home (sites web)
  • monitorer les utilisateurs connectés
  • monitorer la charge système

Configuration

Référence documentaire

Monitorer des hôtes Linux