centos_nagios_2

Pour rappel, si vous avez suivi l'étape précédente, vous devriez avoir à disposition un serveur de monitoring Nagios qui, pour l'instant, ne surveille que ses propres processus.

L'accès à l'interface est protégé par un couple Login/mot_de_passe somme toute assez classique et proche de ce que l'on trouve sur les pages Web habituelles.

Pour simplifier les choses (autant que possible), nous considérons deux types d'utilisateurs : ceux qui seront limités au simple parcours de l'interface Nagios (utilisateur simple) et ceux qui bénéficieront de tous les droits (comme nagiosadmin).


Ajouter un utilisateur avec accès limité à l'interface de Nagios


L'ajout d'un utilisateur se fait en deux temps. D'abord sa création (déclaration), puis son inscription (ou pas) dans les lignes d'autorisation qui permettront l'exécution de certaines taches directement au travers de l'interface comme, par exemple, passer une alerte en mode connu (Acknowledge) ou désactiver la surveillance d'un service (Disable), le temps d'une intervention.

  • Pour ajouter un utilisateur (ici duchnoc), utilisez la ligne suivante (en root). Le système vous demandera son mot de passe (deux fois) :
# htpasswd /usr/local/nagios/etc/htpasswd.users duchnoc


  • La liste des utilisateurs se trouve donc dans le fichier "/usr/local/nagios/etc/htpasswd.users" (le mot de passe n'est pas en clair donc il ne faudra pas l'oublier ou à défaut, en ressaisir un nouveau avec la même commande que ci dessus) :
# cat /usr/local/nagios/etc/htpasswd.users
nagiosadmin:U6p33LgS6hkw
duchnoc:qD22V3k447XI2



  • Les autorisations sont définies dans le fichier "/usr/local/nagios/etc/cgi.cfg". Avant de le modifier, une petite copie de sauvegarde, on ne sait jamais :
# cp  /usr/local/nagios/etc/cgi.cfg  /usr/local/nagios/etc/cgi.cfg.original


  • Ensuite, éditez le fichier "/usr/local/nagios/etc/cgi.cfg" et ajoutez votre utilisateur (duchnoc pour nous) à la fin des trois lignes suivantes (autour des lignes 119, 157 et 158) :
# vi /usr/local/nagios/etc/cgi.cfg
# partiel de fichier

authorized_for_system_information=nagiosadmin,duchnoc

authorized_for_all_services=nagiosadmin,duchnoc
authorized_for_all_hosts=nagiosadmin,duchnoc



  • Puis, redémarrez Apache et Nagios avant de tester l'accès Web pour cet utilisateur :
# service httpd restart
# service nagios restart




Ajouter un utilisateur avec accès complet


Pour attribuer la totalité des droits, procédez comme pour les utilisateurs limités (ci dessus) et ajoutez (en plus) leur login à trois autres lignes du fichier de configuration (vers les lignes 144, 171 et 172) :

# vi /usr/local/nagios/etc/cgi.cfg
# partiel de fichier

authorized_for_system_commands=nagiosadmin,duchnoc

authorized_for_all_service_commands=nagiosadmin,duchnoc
authorized_for_all_host_commands=nagiosadmin,duchnoc



  • et bien entendu, redémarrez Apache et Nagios avant de contrôler la bonne prise en compte des modifications :
# service httpd restart
# service nagios restart




Suppression d'un utilisateur de l'interface Nagios


  • Retirez le login de l'utilisateur concerné de toutes les lignes du fichier "/usr/local/nagios/etc/cgi.cfg"
  • Supprimez la ligne qui le concerne dans "/usr/local/nagios/etc/htpasswd.users"
  • Redémarrez Apache et Nagios






Monitoring d'une machine Linux - Installation du module NRPE



nrpe_process

Nrpe permet à votre serveur Nagios de communiquer de manière sécurisée avec chaque Linux sur laquelle ce module est en fonction.

  • Pour installer Nrpe sur un poste CentOS ("client" du Serveur Nagios donc), rien de bien compliqué, on passe par les dépôts tiers Rpmforge (plus d'infos sur la page dédiée aux dépôts) :
# yum install nagios-nrpe


  • La même opération sur une Ubuntu (12.04 server par exemple), c'est quasi pareil :
# sudo apt-get install nagios-nrpe-server



  • L'installation va créer un utilisateur système appelé "nagios". Les commandes passées depuis votre serveur de monitoring seront effectuées via celui-ci. Même si ce n'est pas indispensable pour NRPE, affectez un mot de passe à cet utilisateur (par exemple le même que sur le serveur de monitoring) :
# passwd nagios



  • Ensuite (quelle que soit la Linux), éditez le fichier de configuration "/etc/nagios/nrpe.cfg" et recherchez la ligne "allowed_hosts=127.0.0.1" :
# vi etc/nagios/nrpe.cfg


  • Remplacez (sur cette ligne uniquement) la valeur "127.0.0.1" par l'ip de votre serveur de monitoring Nagios :
# partiel de fichier

allowed_hosts=ip_du_serveur_Nagios



Note : Vous pourriez également ne pas indiquer d'ip et commenter cette ligne, mais ce n'est pas conseillé puisque la Linux pourrait recevoir des requêtes "NRPE" depuis n'importe quel autre poste du réseau. A éviter donc..


  • Puisque l'on édite ce fichier de configuration Nrpe, autant en profiter pour ajouter une commande manquante (toutes Linux). Il s'agit de l'indicateur d'occupation swap (mémoire virtuelle). Rendez vous à la fin du fichier de configuration "nrpe.cfg" (touches "shift" + "G" sous Vi et Vim) et repérez la partie relative aux commandes Nagios :
# Partiel de fichier

# The following examples use hardcoded command arguments...

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200


  • Insérez à la suite l'une des deux lignes ci dessous, en fonction du type de Linux concerné (32 ou 64 bits) :
## Linux 32 bits
command[check_swap]=/usr/lib/nagios/plugins/check_swap -w 20 -c 10
## Linux 64 Bits
command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 20 -c 10



  • Enfin, assurez vous du démarrage automatique de NRPE avec le système et relancez le pour prise en compte de vos modifs. Pour ce faire sur un client CentOS :
# chkconfig nrpe on
# service nrpe restart


  • Sur un client Ubuntu :
# /etc/init.d/nagios-nrpe-server restart



  • On peut vérifier le bon fonctionnement de l'ensemble en effectuant un contrôle de version depuis le serveur Nagios :
# /usr/local/nagios/libexec/check_nrpe -H ip_du_client


  • La commande devrait renvoyer la version de NRPE installée sur le client :
NRPE v2.12




Note à propos du Parefeu sous CentOS : Firewall actif sur le Client NRPE ? il convient d'autoriser le port adéquat pour que cela fonctionne.
Par définition, si votre serveur est assez important pour que le parefeu soit actif, autant poursuivre dans la voie sécure et limiter l'accès NRPE à une seule ip (celle du serveur Nagios bien sûr) via les commandes suivantes (Remplacez simplement "ip_du_serveur_nagios" par celle du vôtre) :

# iptables -N NRPE
# iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j NRPE
# iptables -I NRPE -s ip_du_serveur_nagios -j ACCEPT
# iptables -A NRPE -s 0/0 -j DROP
# service iptables save






Monitoring d'une machine Windows - installation du module NSClient


Bien, pour le monitoring de nos Linux ça devrait aller.
Dans un monde parfait ce serait terminé puisqu'il n'y aurait que des Manchots partout, mais comme il ne l'est pas (parfait), il faut maintenant passer à un exemple concernant les Windows.

Pour ces derniers, c'est le module NSClient qu'il convient d'utiliser. Il fonctionne grosso modo comme NRPE, via un port différent bien sûr, et se présentera sous la forme d'un service sur vos Windows. Ceci évitera d'avoir à ouvrir une session pour qu'il soit opérationnel.

Liens utiles de téléchargement pour NSclient :




Installation du module sur Windows

  • Après avoir récupéré l'installateur qui convient à votre système, double-clic habituel pour démarrer l'installation :


nsclient_1


  • Choisir l'option "Typical" évitera les complications inutiles :


nsclient_2


  • Laissez par défaut comme dans l'image ci-dessous :


nsclient_3


  • A cette étape, renseignez l'ip du serveur Nagios, un mot de passe (impératif) et cochez les trois cases comme indiqué :


nsclient_4

IMPORTANT ! Choisissez un mot de passe différent de ceux utilisés avec Nagios et NRPE. Ici, vous êtes sous Windows et le password est facilement récupérable.


  • Terminez l'installation et redémarrez le Windows :


nsclient_5


Note 1 : Pour toute modification ultérieure de la configuration, éditez le fichier "nsclient.ini" qui se trouve dans l'arborescence "c:\Program Files\NSClient" (redémarrage du service après modif).

Note 2 : En fonction des logiciels de sécurité installés sur votre (ou vos) Windows, pensez à autoriser NSClient dans le parefeu. Par défaut, Il est paramétré pour utiliser le port 12489.

Note 3 : Si vous avez plusieurs Windows à surveiller, affectez le même mot de passe NSClient à chacun d'eux.



Paramétrage et tests sur votre serveur Nagios pour interroger les NSClients

Pour communiquer avec vos "NSClients", votre serveur Nagios doit connaître le mot de passe que vous avez renseigné lors de l'installation de ces derniers. Nous allons donc le lui indiquer via le fichier de configuration des commandes.

  • Sur le Serveur Nagios, éditez le fichier "commands.cfg" :
# vi /usr/local/nagios/etc/objects/commands.cfg


  • Repérez la partie relative à la commande "check_nt" et plus précisément la ligne "command_line" correspondante (vers la ligne 210) :
# Partiel de fichier

# 'check_nt' command definition
define command{
        command_name    check_nt
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
        }


  • Insérez l'option "-s" et votre mot de passe comme ci dessous (remplacez "mot_de_passe" par le vôtre bien sûr) :
# Partiel de fichier

# 'check_nt' command definition
define command{
        command_name    check_nt
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s mot_de_passe -v $ARG1$ $ARG2$
        }



  • Enregistrez le fichier et redémarrez Nagios :
# service nagios restart



  • Pour finir, effectuez un contrôle de fonctionnement, directement en ligne de commande (depuis le serveur Nagios), en renseignant l'ip de votre windows et le mot de passe :
# /usr/local/nagios/libexec/check_nt -H ip_du_windows -v CLIENTVERSION -p 12489 -s mot_de_passe


  • Si tout est ok, Nagios vous renvoie la version de NSClient installée :
NSClient++ 0,4,1,90 2013-02-04







A ce stade, vous devriez avoir le minimum requis pour passer à l'étape suivante. C'est à dire la création des premiers fichiers de configuration du serveur Nagios et la déclaration des appareils visibles sur le réseau, en d'autres termes, l'épisode 3.



Commenter ou débattre de ce tuto via le topic dédié du forum.