Linux.sensors: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: == Temperaturen überwachen mit sensors == 1) Paket "sensors" muss installiert sein 2) Folgender "Setup" muss durchlaufen werden: Zitat [http://www.linux-fuer-alle.de...)
 
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Wir wollen die CPU Temperatur ermitteln und über das SNMP Protokoll einem Überwachungsserver lesbar machen.
== Temperaturen überwachen mit sensors ==
== Temperaturen überwachen mit sensors ==


1) Paket "sensors" muss installiert sein
* Paket "sensors" muss installiert sein
2) Folgender "Setup" muss durchlaufen werden:
 
Zitat [http://www.linux-fuer-alle.de/doc_show.php?docid=243]
 
Im Prinzip löscht man einfach nur das Kernelmodul "i2c_sensor" mit
 
  modprobe i2c_sensor


Danach führt man das Script  
Danach führt man das Script  
Zeile 14: Zeile 9:
   sensors-detect  
   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
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.  
 
  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  
<code>
  rclm_sensors start
chkconfig --add lm_sensors
rclm_sensors start
</code>


kann durch Aufruf von  
nun kann durch Aufruf von  


<code>
   sensors  
   sensors  
</code>


der Gesundheitszustand der Hardware abgefragt werden.
der Gesundheitszustand der Hardware abgefragt werden.
=== Nur ein Ausflug: Temperaturen der Festplatten ===


Untersützt die Festplatte die "Smart" Technologie, kann man in der Regel mit diesem Befehl die Temparatur auslesen:
Untersützt die Festplatte die "Smart" Technologie, kann man in der Regel mit diesem Befehl die Temparatur auslesen:
Zeile 36: Zeile 30:
   smartctl -s on -a -d ata /dev/sda | grep Temp
   smartctl -s on -a -d ata /dev/sda | grep Temp


== Systemparameter übers Netzwerk auslesbar machen mit snmpd ==


=== SNMP Verknüpfung ===
* Paket "snmp" muss installiert sein


==== Test ====
chkconfig --add snmpd


snmpwalk -v1 -c orgamon localhost LM-SENSORS-MIB::lmTempSensorsValue.1
=== "public" für alle zugänglich machen ===


==== Umsetzen der symbolischen id in eine Numerische ====
<code>
rocommunity public 192.168.115.0/24
</code>
 
ohne eine einschränkende 127.0.0.1 (=default) wird der Benutzerkreis erweitert.
 
rcsnmpd start
 
 
=== Test ===
 
<code>
snmpwalk -v1 -c public localhost LM-SENSORS-MIB::lmTempSensorsValue.1
</code>
 
=== Umsetzen der symbolischen id in eine Numerische ===


snmpwalk -On -v1 -c orgamon localhost LM-SENSORS-MIB::lmTempSensorsValue.1
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
.1.3.6.1.4.1.2021.13.16.2.1.3.1 = Gauge32: 34000
=== Abfrage der CPU Temperatur mit Indy.Delphi ===
<syntaxhighlight lang="pascal">
  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;
</syntaxhighlight>

Aktuelle Version vom 22. Februar 2024, 18:26 Uhr

Wir wollen die CPU Temperatur ermitteln und über das SNMP Protokoll einem Überwachungsserver lesbar machen.

Temperaturen überwachen mit sensors

  • Paket "sensors" muss installiert sein

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.

chkconfig --add lm_sensors
rclm_sensors start

nun kann durch Aufruf von

 sensors 

der Gesundheitszustand der Hardware abgefragt werden.

Nur ein Ausflug: Temperaturen der Festplatten

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

Systemparameter übers Netzwerk auslesbar machen mit snmpd

  • Paket "snmp" muss installiert sein
chkconfig --add snmpd

"public" für alle zugänglich machen

rocommunity public 192.168.115.0/24

ohne eine einschränkende 127.0.0.1 (=default) wird der Benutzerkreis erweitert.

rcsnmpd start


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;