|
Table des matières
Vérification du statut RAIDPrésentation
Le script
Le programme afacli crée alors un fichier de log qui est analysé par le script Perl. Celui-ci stocke chaque disque avec ses différents statuts dans une table de hachage puis le fichier de commandes et le fichier de log sont supprimés. Pour chaque disque, le statut est vérifié : si le statut est “Initialized”, “Free” ou “Container”, le disque est considéré comme bon, sinon le nombre de disques en erreur est incrémenté et le mauvais statut affiché. Dans l'affichage, un disque en bon état est indiqué entre [] et un disque en mauvais état est indiqué entre <>, chaque disque étant désigné par son numéro sur le bus SCSI. Selon le nombre de disques en erreur et les seuils configurés, le statut Ok, Warning ou Critical est renvoyé. Un statut Unknown est renvoyé si le script a rencontré des problèmes en lisant le contrôleur RAID ou en exécutant le programme afacli. Le message est normalement assez explicite pour corriger la source de l'erreur.
Ce script ne fonctionne que pour un contrôleur RAID. Si plusieurs contrôleurs sont présents, il suffit de copier le script et de modifier le paramètre
$array_name (voir le chapitre Configuration interne au script).
Pré-requis
Ce script nécessite que certains outils soient installés avant de pouvoir fonctionner, dont le driver Nous utilisons ce script sur des serveurs DELL PowerEdge fonctionnant avec le système d'exploitation RedHat 8.0. Le site suivant nous a été d'une aide précieuse lors de l'installation de ces outils : Dell Linux Community Web. Il fournit entre autres des procédures d'installation pour différentes distributions.
La première chose à faire est donc d'installer le driver
Ensuite il faut créer le device correspondant au contrôleur RAID et installer l'utilitaire # cd /tmp # wget http://linux.dell.com/files/aacraid/afaapps-2.6-0.tar.gz # tar zxvf afaapps-2.6-0.tar.gz
Créer le device et lui donner les droits suffisants pour que les utilisateurs du système puissent y accéder (notamment l'utilisateur # cp dev/MAKEDEV.afa /dev # cd /dev # chmod +x MAKEDEV.afa # ./MAKEDEV.afa afa0 # chmod o+rw afa0
Installer # cp usr/sbin/afacli /usr/sbin/ # chmod 755 /usr/sbin/afacli Un test rapide : # /usr/sbin/afacli > open afa0 > controller details > exit S'il existe plusieurs contrôleurs, il faut réitérer l'opération pour afa1, afa2, etc.
Pour une plus grande sécurité, il est possible de créer un groupe
raid dont l'utilisateur nagios serait membre, et de modifier les droits en conséquence.
Au niveau de Perl, seul le module
Le système Linux est désormais prêt pour accueillir le script UsageLe script s'utilise ainsi : ./check_raid.pl [-w warning_level] [-c critical_level] [-h] Aucun paramètre n'est obligatoire, les paramètres suivants sont facultatifs :
L'option Exemple : ./check_raid.pl -w 1 -c 2 Configuration interne au scriptDes variables sont définies à l'intérieur du script, il est utile de les modifier, par exemple si le nom du contrôle n'est pas “afa0”. Il faut alors éditer le script et changer la valeur des variables :
Intégration dans NagiosL'article Ajout d'un script dans les commandes Nagios décrit les manipulations nécessaires à l'intégration de ce script dans Nagios.
Pour exécuter ce script sur des hôtes distants, il est conseillé de passer par la commande Téléchargement |
Mes Actions
|