MRTG : la temperature de mes disques durs PDF Imprimer Envoyer
Écrit par Benjamin Jakubowski   
Vendredi, 18 Août 2000 04:14

MRTG: La chaleur de mon disque Dur

Avant Propos :

Après différentes discussions par Mail avec Xavier Leclercq ( Rédacteur chez Linux Loader ) j'ai découvert un article:
" Vos disques durs souffrent-il de la chaleur" dans le numero 19 de LinuxLoader.
Cet article fait découvrir à son lecteur l'outils, la commande : hddtemp, qui permets d'obtenir via la technologie du Self-Monitoring Analysis and Reporting Technology ( autrement dit SMART : Linux Ide SMART), la température à un instant T de votre disque dur, directement depuis une sonde de température stockées dans une série de "registres" du disque dur.." Cet documentation vous propose d'installer et de configurer MRTG afin d'avoir une traçabilité de la température de vos disques dur.
Ainsi la machine cliente une fois son démarrage effectif obtient directement du serveur tous ses paramètres réseau.

 

Pré requis :
Vous devez avoir installer Mrtg pour obtenir ces statistiques.

 

Version Utilisée
Hddtemp http://coredump.free.fr/linux/hddtemp.php 0.3-beta8
hddtemp.db http://coredump.free.fr/linux/hddtemp.db lastest



  • Nous allons commencer par décompresser l'archive récupérée

tar jxvf hddtemp-0.3-beta8.tar.bz2

 

  • Compilation des sources hddtemp

cd hddtemp-0.3-beta8
./configure
make
make install
Par défaut l'executable : hddtemp se trouve dans /usr/local/sbin

 

  • hddtemp utilise un fichier ( une base de données fichier hddtemp.db ), nous vous invitons a copier, par exemple dans le répertoire : /etc/hddtemp.db.
Ce fichier défini la position du champ indiquant la température de votre disque dur. Il est bien évident que ce fichier ne peut contenir l'ensemble des carcatéristiques des disques durs.
C'est pourquoi avec la commande hddtemp nous avons la possibilité d'ajouter une entrée à ce fichier qui correspondera à votre disque dur pour cela executer la commande suivante

 


/usr/local/sbin/hddtemp /dev/hda -D
/dev/hda étant généralement votre disque dur Primary Master
Cette commande vous permets de visualiser l'ensemble des attributs stockés dans la série de "registre" de votre disque dur, pour mon cas j'ai obtenu ceci :

 


== hddtemp 0.3-beta8 ==
Modèle: WDC WD200EB-11CSF0

champ(1) = 0
champ(3) = 168
champ(4) = 209
champ(5) = 4
champ(7) = 0
champ(9) = 57
champ(10) = 0
champ(11) = 0
champ(12) = 195
champ(196) = 4
champ(197) = 0
champ(198) = 0
champ(199) = 0
champ(200) = 0
If one of the field value seems to match the temperature, be sure to read the hddtemp man page before sending me a report (section REPORT). Thanks.
La grande question est : quel est l'attribut qui correspond à la température de mon disque dur?
Pour cela voyez avec le support hardware de votre disque dur, ou alors monitorez régulièrement votre disque dur avec cette commande est définissez la valeur de cet attribut..
Pour notre disque dur l'attribut est l'attribut numéro 9. Ajoutons simplement cette ligne au fichier /etc/hddtemp.db afin de prendre en compte la description de notre disque dur :

"WDC WD200EB-11CSF0" 9 C "WDC WD200EB-11CSF0"

 

Je vous laisse décoder cette ligne via l'article de Xavier Leclercq, car le but est bien ici de faire une courbe de température via MRTG.
  • Création du script permettant de transmettre les informations à MRTG :

 


#!/bin/sh
#Définition de l'emplacement du fichier base de données de hddtemp

conf=/etc/hddtemp.db

drive=$1

# Récupère la sortie du programme
line=`/usr/local/sbin/hddtemp -f $conf -n $drive`


echo $line
echo $line
uptimed=`uptime | awk '{print $3 $4}'`
echo $uptimed
echo $drive
Ce script doit retourner après son exécution, la température de votre disque dur ( deux fois de suite ) , l'uptime de la machine, et le péripherique. Sauvez le script dans /.../bin/hddtemp-mrtg.sh
Afin de valider votre script nous vous invitons à exécuter ce script et de vérifier que celui vous retourne bien les informations voulues.

 

  • Création du fichier de configuration MRTG utilisant ce script, qui nous offrira la temperature de notre disque dur /dev/hda
    Ce fichier de configuration que nous appelerons /www/STAT/cfg/mrtg_hddtemp-hda.cfg fera appel à nôtre script hddtemp-mrtg.sh

 


#-----------General------------------
Htmldir: /www/STAT/disque/hda
Imagedir: /www/STAT/disque/hda/images
Logdir: /www/STAT/disque/hda/logs

Language: french
#-----------End General--------------

#------ Defaults---------------------
Forks:4
XSize[_]: 500 # Largeur de l'image
Ysize[_]: 150 # hauteur de l'image
Colours[_]: --#7aafff,--#1000ff,--#006600,--#ff00ff # les différentes couleurs
Extension[_]: html # Extention des fichiers HTML resultats
Weekformat[_]:V

AddHead[_]:
PageTop[^]:
#------End Defaults-----------------

#---------TEMP-------------------
Target[temphda]: `/.../bin/hddtemp-mrtg.sh /dev/hda`
Options[temphda]: gauge,noinfo, nopercent, growright, nobanner, noi
MaxBytes[temphda]: 200
YLegend[temphda]: Temperature Disque Dur
ShortLegend[temphda]: ° Celsius
LegendO[temphda]: ° hda :
Legend2[temphda]: hda :
Title[temphda]: Temperature Disque Dur
PageTop[temphda]: Temperature Disque Dur en ° Celsius
WithPeak[temphda]:wmy
Legend4[temphda]: Max % HDA
#--------end TEMP-----------------------------
  • Lancement des statistiques

 


/...../bin/mrtg /www/STAT/cfg/mrtg_hddtemp-hda.cfg
  • Dès lors vous pouvez automatisez cette tâche qui pourrait éventuellement s'exécuter toutes les 5 minutes ceci via un cron

 


crontab -e
  • Ajouter cette ligne

 


*/05 * * * * /...../bin/mrtg /www/STAT/cfg/mrtg_hddtemp-hda.cfg

 

  • Voici ce qu'on obtient

 

 

  • Astuce Nagios :

 

Dixit un script perl pour monitorer dans Nagios la température des disques !
Mise à jour le Lundi, 03 Septembre 2012 15:43
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir