Monitoring de la réplication DFS avec Nagios

Classé dans : Supervision |

mardi 23 mars 2010

Le but de cet article est de mettre en place un monitoring pour le système de réplication DFS (ou tout autre système de réplication de fichiers, d'ailleurs :-) ).
Nous utiliserons Nagios pour ce faire car nous monitorons déjà toutes nos plateformes avec ce logiciel Open Source.

Principe de fonctionnement

Le principe utilisé est très simple : chaque serveur esclave dépose dans le dossier répliqué du serveur maître un fichier texte portant son nom. Il suffit alors de comparer la date de ce fichier avec celui répliqué sur l'esclave.

Si la différence est supérieure à une certain seuil, le script renvoie une alerte.

Prérequis

  • Nagios (testé avec la version 3.2.0)
  • PNP pour les graphs
  • NSClient++ sur le serveur à monitorer

Installation

Configuration de NSClient++ sur le serveur esclave

  • Récupérez le script Check_File_Replication.vbs et placez-le dans le dossier scripts dans le dossier d'installation de NSClient++ (C:\nsclient, par exemple).
  • Editez ce fichier pour paramétrer les champs suivants : 
    • DFSMasterPath : Chemin réseau vers le serveur maître
    • DFSSlavePath : Chemin physique sur le serveur esclave
    • dteDiffWarning : seuil d'alerte pour le statut Warning (en secondes)
    • dteDiffCritical : seuil d'alerte pour le statut Critical (en secondes)
  • Ajoutez la ligne suivante dans le fichier NSC.ini :
    		command[repl_delay]=c:\windows\system32\cscript.exe //NoLogo //T:120 C:\nsclient\scripts\check_File_Replication.vbs /w:0 /c:1 
  • Dans les propiétés du service Windows NSClient++, onglet Connexion, utilisez un compte ayant des droits d'écriture sur le maître.
  • Redémarrez le service NSClient++.

Configuration de Nagios

  • Créez un groupe d'hotes :
    		define hostgroup{
    	hostgroup_name			gs-FileRepl
    	alias				groupe Monitoring Replication
    }
  • Définissez un nouveau service (que l'on affecte au groupe d'hotes et qu'on appelle toutes les minutes):
    Notez que dans la commande, le paramètre qui suit check_nrpe correspond au libellé saisi dans le fichier NCS.ini défini ci-dessus.
    		define service{
    	service_description		File Repl
    	use				si-1-minute
    	hostgroup_name			gs-FileRepl
    	check_command			check_nrpe!repl_delay
    }
  • Affectez les serveurs esclaves au groupe d'hôtes :
    		define host{
    	host_name	<nm_du_serveur>
    	alias           <alias_du_serveur>
    	use 		generic-front
    	hostgroups   	<autres_groupes>,gs-FileRep
    	address		<ip_du_serveur>
    }
  • Rechargez Nagios avec la nouvelle conf

Notes complémentaires

  • Lors du premier lancement du script, il renvoie une erreur car le fichier sur l'esclave n'est pas encore répliqué (puisque non créé sur le maître ;-) ).
  • Le script renvoie des perfdata à Nagios pour pouvoir générer des graphs avec PNP. On obtient alors des graphs de ce type :