Supervision d’un annuaire LDAP
[Nagios] Calcul du temps de réponse d’un annuaire LDAP
Présentation
Le script check_qos_ldap.pl se connecte à un annuaire LDAP et effectue une recherche ciblée sur le RootDSE. Le temps mis pour se connecter, effectuer la recherche et se déconnecter est affiché et selon les seuils définis un statut Ok, Warning ou Critical est transmis à Nagios. La valeur renvoyée est exprimée en millièmes de secondes et pour l’affiner encore plus, il est possible d’utiliser les threads pour effectuer les recherches, la valeur envoyée étant alors la moyenne des valeurs retournées par chaque thread.
Les modules Perl suivants sont utilisés par le script, ils doivent être installés sur la machine sur laquelle il sera hébergé :
Le module Getopt::Std
Le module Perl::LDAP
La fontion gettimeofday() du module Time::HiRes
Le module threads, seulement si un nombre de threads est précisé.
Usage
Le script s’utilise ainsi :
./check_qos_ldap.pl -H hostname [-p port] [-D binddn -W bindpw] [-n nb_threads] [-w warning_time] [-c critical_time]
Les paramètres obligatoires sont :
hostname : nom ou IP de l’annuaire LDAP. On peut utiliser une URI LDAP (de la forme ldap://host:port), dans ce cas le paramètre port (-p) sera ignoré même s’il est précisé.
Les paramètres facultatifs sont :
port : port de l’annuaire LDAP. S’il n’est pas précisé, c’est le port 389 qui est utilisé. Si une URI LDAP avec un port a été utilisée dans le paramètre hostname, alors la valeur de port est ignorée.
binddn : identifiant d’une entrée dans l’annuaire ayant les droits de lecture sur l’entrée RootDSE. Cette option est obligatoire si les droits de lecture ne sont pas activés par défaut dans l’annuaire.
bindpw : Le mot de passe associé à l’identifiant indiqué dans le paramètre binddn.
nb_thread : le nombre de threads à utiliser pour calculer le temps de réponse moyen. Les threads étant inclus dans Perl seulement depuis la version 5.8, ce paramètre doit être absent ou fixé à 0 si le script est exécuté avec une version de Perl antérieure.
warning_time : si le temps de réponse est supérieur à cette valeur, le statut Warning est renvoyé à Nagios. La valeur par défaut est de 20 secondes.
critical_time : si le temps de réponse est supérieur à cette valeur, le statut Critical est renvoyé à Nagios. Cette valeur doit être supérieure à celle inscrite dans le paramètre warning_time. Ce paramètre détermine également le timeout de la connexion LDAP utilisée pour effectuer la recherche. La valeur par défaut est de 60 secondes.
Exemple :
./check_qos_ldap.pl -H ldap.linagora.com -n 5 -w 3 -c 10
Configuration interne au script
Quelques variables sont définies à l’intérieur du script, il peut être utile de les modifier dans des situations spécifiques. Il faut alors éditer le script et changer la valeurs des variables :
$version : version du protocole LDAP utilisée. Elle est à 3 par défaut mais certains anciens annuaires n’acceptent que LDAPv2, il faut alors la modifier.
%code : table de hachage contenant les codes de retour de Nagios. À moins d’une reprogrammation totale de Nagios, elle ne doit pas être modifiée.
Intégration dans Nagios
Un tutoriel spécifique décrit les manipulations nécessaire à l’intégration de ce script dans Nagios.
2004 (c) Clément OUDOT
 Script Perl - Remplacer l’extention .txt par .pl après le téléchargement.
|