Linux.sensors: Unterschied zwischen den Versionen
(→Test) |
Root (Diskussion | Beiträge) |
||
(8 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 == | ||
* Paket "sensors" muss installiert sein | |||
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. | 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. | ||
<code> | |||
chkconfig --add lm_sensors | |||
rclm_sensors start | |||
</code> | |||
nun kann durch Aufruf von | |||
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 == | |||
* Paket "snmp" muss installiert sein | |||
==== Test | chkconfig --add snmpd | ||
=== "public" für alle zugänglich machen === | |||
<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> | <code> | ||
Zeile 45: | Zeile 53: | ||
</code> | </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;