Linux.sensors

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen

Temperaturen überwachen mit sensors

1) Paket "sensors" muss installiert sein 2) Folgender "Setup" muss durchlaufen werden:

Zitat [1]

Im Prinzip löscht man einfach nur das Kernelmodul "i2c_sensor" mit

 modprobe i2c_sensor 

Danach führt man das Script

 sensors-detect 

aus. Bei dem Script habe ich eigentlich nur solange die Enter-Taste gedrückt, bis es durchgelaufen war. Natürlich habe ich die Ausgaben gelesen, aber ich wüsste nicht, warum ich schlauer sein sollte, als die Leute, die die Software entwickelt und sinnvolle Werte angenommen haben. Das Script erzeugt die Datei /etc/sysconfig/lm_sensors. Ist dies getan und hat das Script entsprechende Chips gefunden und dort eingetragen, dann kopiert man wie angegeben das Startscript rüber

 cp /usr/share/doc/packages/sensors/prog/init/lm_sensors.init.suse /etc/init.d/lm_sensors 

 ## openSuSE 11
 cp /etc/sysconfig/lm_sensors /etc/init.d/lm_sensors

Wer möchte, dass nach jedem Neustart die Möglichkeit besteht, CPU-Temperatur und andere Messwerte zu Überwachen, der sollte noch

 chkconfig --add lm_sensors 
 rclm_sensors start

kann durch Aufruf von

 sensors 

der Gesundheitszustand der Hardware abgefragt werden.

Untersützt die Festplatte die "Smart" Technologie, kann man in der Regel mit diesem Befehl die Temparatur auslesen:

 smartctl -s on -a -d ata /dev/sda | grep Temp


SNMP Verknüpfung

Test

snmpwalk -v1 -c public localhost LM-SENSORS-MIB::lmTempSensorsValue.1

Umsetzen der symbolischen id in eine Numerische

snmpwalk -On -v1 -c orgamon localhost LM-SENSORS-MIB::lmTempSensorsValue.1 .1.3.6.1.4.1.2021.13.16.2.1.3.1 = Gauge32: 34000

Abfrage der CPU Temperatur mit Indy.Delphi

 with IdSNMP1 do
 begin
   Host:='192.168.115.191';
   Community :='public';
   active:=true;

   Query.Clear;
   Query.MIBAdd('1.3.6.1.4.1.2021.13.16.2.1.3.2',,ASN1_GAUGE);
   Query.PDUType:=PDUGetRequest;

   if SendQuery then
     listbox4.Items.add( Reply.Value[0] )
   else
     listbox4.items.add('ERROR');

   active:=false;
 end;