|
MRTG : la temperature de mes disques durs |
|
|
|
|
É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. |
| 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
|
*/05 * * * * /...../bin/mrtg /www/STAT/cfg/mrtg_hddtemp-hda.cfg
|
| Dixit un script perl pour monitorer dans Nagios la température des disques ! |
|
|
Mise à jour le Lundi, 03 Septembre 2012 15:43 |