Grafische Darstellung der Messwerte für Temperatur und Luftfeuchte mit MRTG

Diese Grafik wird live mit dem MessPC-System und MRTG realisiert  Angezeigt wird die Innentemperatur (blau) und Außentemperatur (grün).


Klicken Sie für Wochen, Monats und Jahresübersicht auf die Grafiken.


Mit MRTG ist neben der grafischen Anzeige auch das Überwachen von Schwellwerten möglich. So können beliebige Aktionen gestartet werden, wie z.B. das Versenden von Mail, Fax oder SMS. MRTG ist ein freies Perl-Programm und läuft unter Windows und Unix/Linux. Leider ist mit MRTG keine Anzeige negativer Werte möglich. Verwenden Sie in diesem Fall die RRDTools.

Die Konfiguration für MRTG:


Target[PCMeasureDemo]: `/usr/bin/pcmeasure2mrtg.pl 10.254.89.8 lpt1.1 com2.1`
MaxBytes[PCMeasureDemo]: 1000
Title[PCMeasureDemo]: LiveDemo PCMeasure
PageTop[PCMeasureDemo]: <H1>LiveDemo PCMeasure</H1>
YTicsFactor[PCMeasureDemo]: 0.1
Options[PCMeasureDemo]: gauge, noinfo, nopercent, growright
YLegend[PCMeasureDemo]: Grad Celsius
Timezone[PCMeasureDemo]: GMT
ShortLegend[PCMeasureDemo]: x 0,1 Grad Celsius
LegendI[PCMeasureDemo]: Outdoor
LegendO[PCMeasureDemo]: Indoor
Legend1[PCMeasureDemo]: Outdoor in Grad Celsius
Legend2[PCMeasureDemo]: Indoor in Grad Celsius

Dazu wird folgender Perl-Script durch MRTG aufgerufen:


Datei pcmeasure2mrtg.pl

#!/usr/bin/perl
#############################################################
#  pcmeasure2mrtg.pl Zugriff auf Daten der MessPC Software
#                    über das Netzwerk und Übergabe an MRTG
#
#  Version 1.1 vom 3.8.2002
#
#  (C) Lutz Schulze 2002 www.messpc.de
#
#  Aufruf: pcmeasure2mrtg.pl IP-Adresse sensor1 sensor2
#
#  Die Parameter sensor1 und sensor2 bestimmen die Interfaces
#  der MessPC - Software, die ausgegeben werden sollen.
#  Beispiel: pcmeasure2mrtg.pl 10.1.1.1 lpt1.1 com1.1
#############################################################

use IO::Socket;
use Text::ParseWords;
sub parse_csv {
   return quotewords(";",0, $_[0]);
}

$remote_host = $ARGV[0]; # IP-address
$remote_port = 4000;     # TCP Port

$socket = IO::Socket::INET->new(PeerAddr =>$remote_host,
                               PeerPort =>$remote_port,
                               Proto       =>"tcp",
                               Type        =>SOCK_STREAM)
or die "cannot connect to $remote_host:$remote_port: $@\n";

print $socket "pcmeasure.$ARGV[1]\n";
$answer = <$socket>;
@fields = parse_csv($answer);
for ($i =0;$i < @fields;$i++) {
   $pos1 =index $fields[$i],'value';
   if ($pos1 != -1) {
       $pos2 =index $fields[$i],'=';
       $valuestring1 = substr($fields[$i],$pos2+1);
   }
}
close($socket);

$valuestring2 = 0;
if ($ARGV[2] ne '') {
   $socket = IO::Socket::INET->new(PeerAddr =>$remote_host,
                                   PeerPort =>$remote_port,
                                   Proto       =>"tcp",
                                   Type        =>SOCK_STREAM)
   or die "cannot connect to $remote_host:$remote_port: $@\n";
   print $socket "pcmeasure.$ARGV[2]\n";
   $answer = <$socket>;
   @fields = parse_csv($answer);
   for ($i =0;$i < @fields;$i++) {
       $pos1 =index $fields[$i],'value';
       if ($pos1 != -1) {
           $pos2 =index $fields[$i],'=';
           $valuestring2 = substr($fields[$i],$pos2+1);
       }
   }
   close($socket);
}

$valuestring1 = $valuestring1 * 10; #MRTG will nur ganze Zahlen
$valuestring2 = $valuestring2 * 10;
print "$valuestring1\n$valuestring2\n0 Std\n$ARGV[0]\n";


Kontakt: better networks  Lutz Schulze  Hauptstrasse 34
01909 Grossharthau-Bühlau - mehr Infos im Impressum
Tel. 035954 53396        Fax 035954 53397
support@messpc.de bestellung@messpc.de
Die Zeitschrift 'IT-Administrator' hat das MessPC System getestet und einen mehrseitigen Bericht veröffentlicht.