TP sur la mise en place de NAGIOS
Transcription
TP sur la mise en place de NAGIOS
ROSSET GUILLAUME TP NAGIOS BTS SIO 2014/2015 Nagios est un logiciel de supervision de réseau. Il permet de vérifier le bon fonctionnement des différents matériels du réseau (serveurs, PC clients, commutateurs, imprimantes…). Installation du serveur Nagios L’installation est faite sur un serveur Debian. Paquets nécessaires : Apache2, libapache2-mod-php5, php5-gd, php5, gcc, build-essential, wget, libgd-gd2-perl, libgd2-dev, libgd2-xpm, libgd2xpm-dev, libnet-snmp-perl, libssl-dev, snmp, daemon Il est nécessaire de créer un utilisateur « nagios » appartenant au groupe « nagios » (pwd : nagios) : groupadd nagios useradd –m –g nagios nagios passwd nagios Pour permettre l’exécution de commande à travers l’interface Web, les utilisateurs nagios et apache doivent être placés dans le même groupe nagcmd : grouppadd nagcmd usermod –g nagcmd nagios && usermod –g nagcmd www-data Creation d’un repertoire /nagios/download et téléchargement de Nagios et de ses plugins Mkdir –p /nagios/download Cd /nagios/download Wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz Wget http://www.nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz Compilation et installation de Nagios Tar –xzf nagios-4.0.8.tar.gz Cd nagios-4.0.8/ ./configure –with-command-group=nagcmd Make all Make install Make install-init #le fichier /etc/init.d/nagios est installé Make install-config Make install-commandmode #installation des permissions Personnalisation de la configuration de Nagios : les fichiers de configuration se trouvent dans le répertoire /usr/local/nagios/etc Configuration de l’interface Web Make install –webconf Htpasswd –c /usr/local/nagios/htpasswd.users nagiosadmin Service apache2 restart Compilation et installation des plugins Nagios Cd /nagios/downmoad/ Tar –xvf nagios-plugins-2.0.3.tar.gz Page 1 sur 5 ROSSET GUILLAUME TP NAGIOS BTS SIO 2014/2015 Cd nagios-plugins-2.0.3/ ./configure --with-nagios-user=nagios --with-nagios-group=nagios Make Make install Démarrage de Nagios Chown nagios.nagcmd /usr/local/nagios/var/rw /usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg # permet de vérifier la bonne configuration de Nagios Nagios doit être lancé au démarrage du serveur : Dans le fichier /etc/init.d/nagios Après les lignes #Required-Start et #Required-Stop, ajouter les lignes, #Default-Start : 2 3 4 5 #Default-Stop : 0 1 6 Lancer la commande Update-rc.d nagios defaults La commande ne doit pas renvoyer d’erreurs Démarrer nagios /etc/init.d/nagios start On peut maintenant se connecter à l’interface web via : http://localhost/nagios Le serveur est surveillé par Nagios. La configuration de Nagios pour celui-ci se trouve dans le fichier /usr/local/nagios/etc/objects/localhost.cfg Installation sur un client Windows Afin qu’un client Windows puisse être surveillé, l’agent NSClient++ doit y être installé. Paramétrage du serveur Cet agent communique avec le plugin Check_nt du serveur paramétré dans le fichier /usr/local/nagios/etc/objects/commands.cfg (penser à modifier le mot de passe nécessaire à la communication entre les 2 hôtes). Installation de l’agent Télécharger le fichier NSClient++-0 .4.3-xXX.msi. L’installation de l’agent nécessite : - l’adresse Ip du serveur - le mot de pass du fichier commands.cfg du serveur - activation des champs plugins, check_nt et check_nrpe Le client doit être autorisé à interagir avec le bureau afin de pouvoir être considéré comme un service Windows. Lancer services.msc Ouvrir les propriétés de NSClient++ Dans l’onglet Connexion, cocher « Autoriser le service à interagir avec le Bureau » Page 2 sur 5 ROSSET GUILLAUME TP NAGIOS BTS SIO 2014/2015 Connectivité avec le serveur La connectivité se vérifie sur le serveur Nagios : /usr/local/nagios/libexec/check_nt –H @ip-client –v CLIENTVERSION –p 12489 –s mdp Configuration de Nagios Les configurations des machines Windows sont paramétrables dans le fichier /usr/local/nagios/etc/objects/windows.cfg La ligne cfg_file=/usr/local/nagios/etc/objects/windows.cfg doit donc être décommentée dans le fichier /usr/local/nagios/etc/nagios.cfg Dans le fichier windows.cfg : Renseigner le nouvel hôte Windows dans « define host » Renseigner le nom d’hôte de la machine Windows dans les services qu’on souhaite superviser Lorsque les configurations sont terminées, vérifier le bon fonctionnement de Nagios /usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg Installation pour un client Linux Installation sur le serveur client Paquets necessaires : Make, gcc, build-essential wget, libssl-dev, snmpd, snmp, scli, xinetd Créer un lien symbolique pour la librairie SSL afin que NRPE puisse la trouver Updatedb Locate libssl.so Ln –s /usr/lib/i386-linux-gnu/libssl.so /usr/lib/libssl.so #i386-linux-gnu n’est qu’un exemple, mettre adresse trouvée avec locate Téléchargement des archives Cd /usr/local/src Wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz Wget https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz Tar –xzf nagios-plugins-1.5.tar.gz && tar –xzf nrpe-2.15.tar.gz Creation du compte et du groupe nagios Groupadd nagios && useradd nagios –g nagios –p nagios Installation des plugins Cd nagios-plugins-1.5/ ./configure Make && make install Installation de NRPE Cd /usr/local/src/nrpe-2.15 ./configure --enable-command-args Make install-plugin Cd ./src/ && make install-plugin Make install-daemon Make install-daemon-config Make install xinetd #installe NRPE comme service sous xinetd Page 3 sur 5 ROSSET GUILLAUME TP NAGIOS BTS SIO 2014/2015 Fichiers de configuration /etc/xinetd.d/nrpe Dans Service nrpe Ajouter à la ligne only_from l’adresse ip de l’hôte linux afin de pouvoir lister l’hôte autorisée à contacter /etc/services Ajouter la ligne : nrpe 5666/tcp #Nagios Remote Plugin Executor /usr/local/nagios/etc/nrpe.cfg Dont_blame_nrpe=1 #active la prise d’arguments La lecture de l’espace disque, par exemple, est également paramétrable dans ce fichier : Décommenter la ligne command[check_disk]= Redémarrer xinetd Vérifier que NRPE est à l’écoute Netstat –at | grep nrpe Attribution de droits Chmod 664 /usr/local/nagios/etc/nrpe.cfg # on autorise l'accès en écriture et en lecture pour nagios et son groupe, tandis que seule la lecture est possible pour les autres utilisateurs qui ne sont pas membres du groupe Chown nagios.nagios /usr/local/nagios/etc/nrpe.cfg Test local /usr/local/nagios/libexec/check_nrpe –H 127.0.0.1 /usr/local/nagios/libexec/check_nrpe –H 127.0.0.1 –c check_total_procs /usr/local/nagios/libexec/check_nrpe –H 127.0.0.1 –c check_disk –a 50% 100% Installation sur le serveur Nagios Installer NRPE avec les mêmes méthodes que pour le serveur client Les serveurs Linux peuvent être paramétrés dans le groupe linux-servers du fichier /usr/local/nagios/etc/objects/localhost.cfg. La définition de ce groupe sera effectuée dans un autre fichier, il faut donc commenter sa définition dans le fichier localhost.cfg Un répertoire serveurs_linux est créé et contiendra les fichiers de configuration des serveurs Mkdir /usr/local/nagios/etc/serveurs_linux/ Ce répertoire doit être renseigné dans le fichier /usr/local/nagios/etc/nagios.cfg Cfg_dir=/usr/local/nagios/etc/serveurs_linux Créer un objet dans /usr/local/nagios/etc/objects/command.cfg # 'check_nrep' command definition define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -u -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$ } o Créer un fichier /usr/local/naios/etc/groupe_serveurs_linux.cfg define hostgroup{ hostgroup_name linux-servers ; The name of the hostgroup alias Serveurs Linux ; Long name of the group members nom_machine ; séparés par des virgules } Page 4 sur 5 ROSSET GUILLAUME TP NAGIOS BTS SIO 2014/2015 Créer un fichier /usr/local/nagios/etc/serveurs_linux/nom_machine.cfg # definition de la machine define host{ use linux-server ; host_name nom_machine ; alias Serveur nom_machine ; address nom_machine ; } # Verification de l'espace disque define service{ use generic-service host_name nom_machine service_description Espace disque / check_command check_nrpe!check_disk!80%!90%!/ } # Verification de la charge cpu define service{ use generic-service host_name nom_machine service_description Charge CPU check_command check_nrpe!check_load!80!90 } # Verification du nombre d'utilisateurs sur le serveur define service{ use generic-service host_name nom_machine service_description Nombre utilisateurs check_command check_nrpe!check_users!2!10 } Attribution des droits Chown –R nagios.nagios /usr/local/nagios/etc/serveurs_* Vérifier la bonne configuration de Nagios /usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg Redémarrer le service Nagios Surveillance d’un commutateur Un répertoire pour la surveillance existe déjà dans Nagios. Décommenter, dans /usr/local/nagios/etc/nagios.cfg, la ligne cfg_dir=/usr/local/nagios/etc/switches Le fichier d’exemple (/usr/local/nagios/etc/objects/switch.cfg) permet de créer le fichier /usr/local/nagios/etc/switches/nom_switch.cfg ainsi que le fichier de définition du groupe group_switch.cfg Redémarrer le service Nagios Page 5 sur 5