SME 7.4 + Surveillance Température - [Résolu]

Forum dédié à la distribution du même nom et que vous pourrez télécharger sur http://www.contribs.org. La nouvelle version de cette distribution se nomme SME Server

Modérateur: modos Ixus

Messagepar ecureuil1 » 18 Jan 2010 18:49

HP77 a écrit:Bonjour,

J'ai créé le script /root/hddtemps que "Tranbert" a utilisé avec les permissions à 0700 (RWX pour 'root' seulement) dont le contenu est le suivant :
Code: Tout sélectionner
#!/bin/bash

####  by HP77   -   2010-01-17 @ 08h17 GMT+0800 (SG)  ####
####  http://groups.google.fr/group/alt.e-smith.fr/browse_thread/thread/1d98e05157c22ac/c2b5bfdfa904a6f2?lnk=gst&q=hddtemp#   ####

##   to to create this file under *root* user and to do a chmod 0700.
##   smartctl -A $1 | grep 194 | awk '{print $10}'    #by Tranbert because not so good!

smartctl -A $1 | grep "Temperature_Celsius" | awk '{print $10}'


Depuis le Shell, j'ai lancé la commande suivante sans aucun message d'erreur :
Code: Tout sélectionner
[root@sme7.4 ~]# smartctl -A $1 | grep "Temperature_Celsius" | awk '{print $10}'




C'est normal, il n'a pas trouvé l'emplacement du disque dur.
comme l'a dit Gaston, il y a un passage d'argumment.
Le programme /root/hdtemps est appelé avec comme paramètre, le chemin du disque dur.

Pour lancer le programme en ligne de commande, il faut remplacer $1 par /dev/sda

smartctl -A /dev/sda | grep "Temperature_Celsius" | awk '{print $10}'

tu devrais avoir une réponse ;)

En général les disques durs ide = /dev/hda et les disques durs sata = /dev/sda

Pour que cela fonctionne avec sme7admin, il faut modifier le progamme /usr/bin/sme7admind comme l'a indiqué tranbert.

tranbert a écrit:En gros pour ceux qui voudraient faire ça "au propre" voilà l'idéee :

Ligne 854 et suivantes de /usr/bin/sme7admind

On vire ce qui est défini, ca doit marcher aussi pour de l'IDE vu que
l'on bypasse hddtemp, en fait...

Ma commande c'est hddtemps avec un S ;-) (ben comme sata quoi)

-------------

if ($tag4 ne "")
{
$sensors_temp_hd1=`/root/hddtemps /dev/$tag4`;
$sensors_temp_hd1=~ s/\n//g;

}



Donc remplacer les lignes :

if ($tag4 ne "")
{
my @hddtemp=`/usr/sbin/hddtemp /dev/$tag4 2> /dev/null`;
foreach (@hddtemp)
{
#/dev/hda: ExcelStor Technology J680 : 39▒C ou ▒F
if (/\/dev\/$tag4:.*:\s+(\d+)▒C/o) {$sensors_temp_hd1=$1;}
}
}
if ($tag5 ne "")
{
my @hddtemp=`/usr/sbin/hddtemp /dev/$tag5 2> /dev/null`;
foreach (@hddtemp)
{
if (/\/dev\/$tag5:.*:\s+(\d+)▒C/) {$sensors_temp_hd2=$1;}
}
}

par

if ($tag4 ne "")
{
$sensors_temp_hd1=`/root/hddtemps /dev/$tag4`;
$sensors_temp_hd1=~ s/\n//g;
}
if ($tag5 ne "")
{
$sensors_temp_hd2=`/root/hddtemps /dev/$tag5`;
$sensors_temp_hd2=~ s/\n//g;
}

(je n'ai pas testé le code que je viens de mettre ;) )

=> je viens de tester avec disque dur ide => c'est ok, j'ai la température de mon disque hda

Anne
ecureuil
Avatar de l’utilisateur
ecureuil1
Contre-Amiral
Contre-Amiral
 
Messages: 448
Inscrit le: 04 Avr 2002 00:00
Localisation: Grenoble, France

Messagepar HP77 » 19 Jan 2010 15:00

Bonsoir Gaston,

Gaston a écrit:
HP77 a écrit:Depuis le Shell, j'ai lancé la commande suivante sans aucun message d'erreur : [code]Je viens de faire un autre test : [code][root@sme7.4 ~]# smartctl -A $1 | grep "Temperature_Celsius" | awk '{print $10}' > toto.txt [/code]
et tu espère que smartcl interroge quel device là ?

Ben, oui, c'est sur que si je lance "smartctl" il me demande le périphérique avec lequel travailler. :P :oops:
Comme quoi, vouloir aller plus vite que la musique, sans prendre les congès pour ce à quoi ça sert...
Cela dit, j'aurais quand même dû me faire jeter sur les roses avec la ligne copiée-collée précédente mais bon, comme je ne la comprends pas encore (pas eu/pris le temps de creuser davantage :oops: :oops: ), forcément, j'en arrive là où je suis. :wink:

D'ailleurs, je vais m'y intéresser un peu plusm dés maintenant :
    - $1 et $10 seraient donc des paramètres passés (si je devine juste)
    - smartctl -A, la commande de base pour extraire une chaîne de données
    - grep "Temperature_Celsius", la commande pour extraire le bon morceau de la chaîne (par contre, faudra que j'apprenne à m'en servir mais j'en ai un peu marre de lire de la doc en anglais ces temps-ci)
    - awk '{print $10}', là, je devine sans plus (pareil pour la doc, surtout qu'il y a de quoi lire encore une fois ! :roll: :oops: )

Gaston a écrit:
http://groups.google.fr/group/alt.e-smith.fr/browse_thread/thread/1d98e05157c22ac/c2b5bfdfa904a6f2?lnk=gst&q=hddtemp# a écrit:/root/hddtemps c'est donc ta commande (avec passage d'argument)

sinon pour les liens, ce sont des droits normaux
G.

C'est cette histoire de script pour réutilisation future qui a dû m'aider à me mettre dedans...
Heu, normaux, tu entends quoi par là ?
"root = rwx" ?
Je ne suis pas 'root' moi. :( Je le prends très mal que mes droit ne soient pas "normaux" ! [-( :marre:


Bon, je vais devoir faire silence radio le temps d'en apprendre un peu plus, on dirait... :wink:

Salutations,
HP
HP77
Contre-Amiral
Contre-Amiral
 
Messages: 491
Inscrit le: 25 Nov 2009 06:44
Localisation: Singapour

Messagepar HP77 » 19 Jan 2010 15:33

Bonsoir Anne,

ecureuil1 a écrit:
if ($tag4 ne "")
{
$sensors_temp_hd1=`/root/hddtemps /dev/$tag4`;
$sensors_temp_hd1=~ s/\n//g;
}
if ($tag5 ne "")
{
$sensors_temp_hd2=`/root/hddtemps /dev/$tag5`;
$sensors_temp_hd2=~ s/\n//g;
}


(je n'ai pas testé le code que je viens de mettre ;) )

=> je viens de tester avec disque dur ide => c'est ok, j'ai la température de mon disque hda

Anne


Bien vu le coup du disque dur n°2 ! =D> #-o
Bien Merci d'avoir pris la peine de poster ce billet. :biz:
(j'aurais encore eu des maux de tête lors de la mise en raid d'un second disque mais, ce n'est pas pour tout de suite, je te "rassure") :wink:


Bon, maintenant, reste encore à faire afficher les autres températures relevées par LM_sensors, cette fois-ci... :roll:
Ce sera pour la fin de la semaine car, maintenant, il est grand temps d'aller faire un tour chez Morphée... :wink:


Bonne soirée, A++

Saluations,
HP
HP77
Contre-Amiral
Contre-Amiral
 
Messages: 491
Inscrit le: 25 Nov 2009 06:44
Localisation: Singapour

Messagepar HP77 » 19 Jan 2010 15:40

:oops: :oops: :oops:
Gaston a écrit:sinon pour les liens, ce sont des droits normaux

Merci Gaston !!

Je viens de relire mon billet (surtout la liste détaillée sur les fichiers) auquel tu répondais. Effectivement, ce sont des liens ("-->") vers les fichiers de log...

Bon, cette fois c'est clair car tu répondais avec, juste au-dessus, la citation issue du message du NewsGroup (là, je réfléchis encore un peu pourquoi c'est là car je "mange" de l'anglais mélangé au "chinois" non stop au boulot et là, j'ai la TV en "chinois" à tue-tête (je sais maintenant pourquoi les mini-chaînes Hi-Fi ont une telle puissance...) et puis, Ah !, les "dramas" à la TV, c'est comme le karaoké ou la PSP : t'en a pas, t'es à coup sûr un "pas normal" ! :roll: ) :wink:

Bonne soirée et Merci de m'avoir rassuré sur le liens. :wink:
(bien que je trouve toujours cela curieux quand même) :P

Salutations,
HP
HP77
Contre-Amiral
Contre-Amiral
 
Messages: 491
Inscrit le: 25 Nov 2009 06:44
Localisation: Singapour

Messagepar HP77 » 19 Jan 2010 15:55

Bon, j'ai corrigé aussi pour hd2 (en prévision) et j'ai jeté un bref coup d'oeil au code pour les autres sondes de températures, cela semble se passer là-dedans :
Code: Tout sélectionner
#fin de la collection des infos destinees a rentrer dans la BDD MySQL
#debut de la collection des infos pour RRDTool => graphes
   
# reecrit pour mieux supporter differents types de tags et de senseurs
# tagS = hda, hdc, temp1, temp2, fan2, CPU Temp, CPU Fan, etc...... => executer sensors en ligne de commande pour trouver le bon
sub get_sensors_hddtemp
{
   # $sensors_temp_cpu,$sensors_temp_hd,$sensors_temp_mb,$sensors_fan_speed
   #fan2:     3970 RPM  (min = 3000 RPM, div = 2)
   #temp1:       +30°C  (limit =  +60°C)                       sensor = thermistor
   #temp2:     +46.0°C  (limit =  +60°C, hysteresis =  +50°C) sensor = 3904 transistor


   ($sensors_temp1,$sensors_temp_hd1,$sensors_temp2,$sensors_temp_hd2,$sensors_fan_speed)=('U','U','U','U','U');
   
    my ($tag1,$tag2,$tag3,$tag4,$tag5)=($params{'SensorsTag1'},$params{'SensorsTag2'},$params{'SensorsTagFan'},
        $params{'hd1'},$params{'hd2'});

   #a noter que si hddtemp & lm_sensors n'ont pas ete installés,ca ne plante pas !!
   my @sensors=`/usr/bin/sensors -A 2> /dev/null`;
   foreach (@sensors)
    {
      if ($tag1 ne "" && (/$tag1:\s+(\+|-)?([0-9.]+)°C/o)) {$sensors_temp1=$2;}
      if ($tag2 ne "" && (/$tag2:\s+(\+|-)?([0-9.]+)°C/o)) {$sensors_temp2=$2;}
      if ($tag3 ne "" && (/$tag3:\s+(\d+) RPM/o)) {$sensors_fan_speed=$1;}
   }
   
    if ($tag4 ne "")


J'ai un peu l'habitude du C mais pas encore du perl...
C'est tentant d'alle fouiner pour également ajouter d'autres paramètres, mais bon, si je m'y colle le premier, j'irais pas étapes car je ne veux pas encore finir dans la précipitation. :wink:

Aller, cette fois-ci, bonne nuit !

HP :arrow:
HP77
Contre-Amiral
Contre-Amiral
 
Messages: 491
Inscrit le: 25 Nov 2009 06:44
Localisation: Singapour

Messagepar Gaston » 20 Jan 2010 18:03

Bonjour,
tu trouveras une doc (mémo ? ) relativement claire et particulièrement le chapitre 7 ( http://marcg.developpez.com/ksh/#L7 ) dans laquelle se trouve les réponses sur les paramètres du shell et leurs usage
HP77 a écrit:Heu, normaux, tu entends quoi par là ?
"root = rwx" ?
Je ne suis pas 'root' moi. :( Je le prends très mal que mes droit ne soient pas "normaux" ! [-( :marre:

ben standard quoi, en gros cela veux dire que :
- le lien symbolique a été créé par le user root du group root
- que tout le monde a le droit de suivre ce pointeur pour des opérations de lecture/ecriture/execution
et puis un lien symoblique, mieux vaux l'identifier par "lrwxrwxrwx" que par l'usage dans l'affichage du nom du lien du caractère "->" (même si je n'ai pas en tête de contre exemple)
par contre les droits d'execution/lecture/écriture utilisés sont ceux du fichier pointés par le lien
Avatar de l’utilisateur
Gaston
Amiral
Amiral
 
Messages: 1367
Inscrit le: 06 Oct 2003 00:00
Localisation: Saint Maur, 94 FR

Messagepar webcarle » 21 Jan 2010 13:24

Bonjour a tous,
Lorsque j'ai mis a jour sme7.3->7.4 cela a automatiquement desinstallé sme7admin (me demandez pas pourquoi, j'ai pas compris) ;-)
Donc je refais l'install a partir de contrib.org, et je n'ai plus de températures ???

au sensors-detect, il me trouve :
Code: Tout sélectionner
# List the modules that are to be loaded for your system
#
# Generated by sensors-detect on Thu Jan 21 12:03:34 2010
MODULE_0=i2c-isa
MODULE_1=w83627ehf


sauf que si je lance ca je me retrouve avec une erreur sur le second module:

Code: Tout sélectionner
[root@extranet ~]# modprobe i2c-isa
[root@extranet ~]# modprobe w83627ehf
FATAL: Module w83627ehf not found.


Auriez vous une idée qui pourrait m'aider à sortir de ce mauvais pas ?
webcarle
Premier-Maître
Premier-Maître
 
Messages: 53
Inscrit le: 24 Fév 2006 16:40
Localisation: Savoie

Messagepar HP77 » 06 Fév 2010 02:40

Bonjour,

@ Gaston :
Je te remercie beaucoup pour ces précisions et pistes de lectures, je n'ai pas eu vraiment le temps de me pencher dessus plus tôt. :oops: :oops: :oops: :oops: :oops: :oops:
(j'ai vraiment honte...)

Je vais mettre mon sujet en résolu car, principalement, avec l'aide de sme7admin et SystemMonitor, j'arrive à visualiser ce qui m'intéresse depuis maintenant près de deux semaines. 8) (wow, que le temps passe vite ici aussi...)

Voili-voilà.

Un !!?? Non !!!
Mille Mercis à tous ceux et celle(s) qui m'ont apporté leur aide et expériences précieuses pour arriver à mes fins. :D :D

Je vais tenter de faire un résumé de tout ça sur mon espèce de site web donc, il se peut que je vous demande encore un petit service de re-lecture pour que je puisse fournir quelque chose de clair et facile à ré-utiliser par le plus grand nombre. :wink:

Merci encore !
Bon weekend !!


Salutations,
HP
HP77
Contre-Amiral
Contre-Amiral
 
Messages: 491
Inscrit le: 25 Nov 2009 06:44
Localisation: Singapour

Re: SME 7.4 + Surveillance Température - [Résolu]

Messagepar HP77 » 05 Déc 2010 15:54

Hello,

"Chose promise, chose due" un premier morceau du résumé promis se trouve maintenant ici :
- SME 7.x + SystemMonitor + Carte mère Mini-ITX Asus AT3GC-I
-

Je ré-éditerais ce billet un peu plus tard pour la partie traitant de SME7admin, je n'avais pas terminé de le modifier complètement pour bénéficier de tous les graphes possibles d'afficher mais, SystemMonitor fourni le complément... :mrgreen: :wink:

"A++" :wink:

Cordialement,
HP
Ma config perso : ATGC3-I (=Atom 330) + 1x 2GB RAM DDR2 + 2x HDD SATA 500 GB en RAID 1 logiciel
--> Mini-Serveur à la maison (derrière une "Box")
--> configuration réseau
A lire : The SME Server Developer's Guide (EN)
HP77
Contre-Amiral
Contre-Amiral
 
Messages: 491
Inscrit le: 25 Nov 2009 06:44
Localisation: Singapour

Précédent

Retour vers E-Smith / SME Server

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité