Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

problem mit mrtg, cfgmaker und messpc

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

Ich hab einen Messpc am laufen und versuche die Werte mit hilfe von mrtg grafisch darzustellen.

Nachdem ich perl und mrtg installiert habe, muss ich mit cfgmaker cfgdatei erstellen. und zwar mit desem befehl:

C:\mrtg\bin>perl cfgmaker public@192.168.0.94 --global "WorkDir: c:\mrtg\mrtghtm

l" --output messpc11111.cfg

Obwohl der snmp Anfrage bei messpc funktioniert. ich hab mit eine php script angefertigt und ich krieg, siehe unten, die einzelnen Temperatur werte angezeigt.

C:\Dokumente und Einstellungen\MG>snmpwalk -v 1 -c public 192.168.0.94 .1.3.6.1.4.1.14848.2.1.2.1.6

SNMPv2-SMI::enterprises.14848.2.1.2.1.6.1 = STRING: " 20.3 ░C"

SNMPv2-SMI::enterprises.14848.2.1.2.1.6.2 = STRING: " 25.1 ░C"

SNMPv2-SMI::enterprises.14848.2.1.2.1.6.3 = STRING: " 39.5 ░C"

SNMPv2-SMI::enterprises.14848.2.1.2.1.6.4 = STRING: " 26.1 ░C"

SNMPv2-SMI::enterprises.14848.2.1.2.1.6.5 = STRING: "**.* %RH"

SNMPv2-SMI::enterprises.14848.2.1.2.1.6.6 = STRING: "**.* %RH"

SNMPv2-SMI::enterprises.14848.2.1.2.1.6.7 = STRING: "**.* %RH"

SNMPv2-SMI::enterprises.14848.2.1.2.1.6.8 = STRING: "**.* %RH"

SNMPv2-SMI::enterprises.14848.2.1.2.1.6.9 = STRING: "output 0"

SNMPv2-SMI::enterprises.14848.2.1.2.1.6.10 = STRING: "output 0"

SNMPv2-SMI::enterprises.14848.2.1.2.1.6.11 = STRING: "output 0"

SNMPv2-SMI::enterprises.14848.2.1.2.1.6.12 = STRING: "output 1"

Ich krieg aber immer diese Fehermeldung "siehe unten", obwohl die cfg Datei erstellt worden ist. da steht snmp error: darf doch aber nicht sein, oder..?

C:\mrtg\bin>perl cfgmaker public@192.168.0.94 --global "WorkDir: c:\mrtg\mrtghtml" --output messpc11.cfg

SNMP Error:

no response received

SNMPv1_Session (remote host: "192.168.0.94" [192.168.0.94].161)

community: "public"

request ID: 1784039829

PDU bufsize: 8000 bytes

timeout: 2s

retries: 5

backoff: 1)

at C:/mrtg/bin\..\lib\mrtg2/SNMP_util.pm line 627

SNMPWALK Problem for 1.3.6.1.2.1.1 on p@192.168.0.94::::::v4only

at cfgmaker line 916

WARNING: Skipping p@192.168.0.94: as no info could be retrieved

Ich hoffe, Ihr könnt mir weiter helfen...?.Denn ich weiss nicht mehr weiter, hab schon vieles probiert.

vielen dank schon mal.

MG

lass mal das --output sowie die angabe des outputfile weg, damit man das resultierende cfgfile zu sehen bekommt.

s'Amstel

Hallo Leute,

Vom localhhost hab ich einen graph erstellt, allerdings leer.

Aber vom messpc nicht.ich hab fest gestellt , dass mrtg nicht direkt mit messpc komunizieren kann, deswegen auch diese Fehlermeldung die ich immer bekommen, das mit dem snmp error:...siehe erster kommentar.

Es gibt aber eine script auf der seite von messpc, die für verbindung von messpc und mrtg zuständig ist. die allerdings irendwie anpassen muss. Und da bin ich dann stehen geblieben..

die script sieht dann so aus.

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:

pcmeasure2mrtg.pl

Dieser Script kann unverändert verwendet werden, es ist keine Konfiguration erforderlich.

#!/usr/bin/perl

#############################################################

# pcmeasure2mrtg.pl Zugriff auf Daten der MessPC Software

# über das Netzwerk und Übergabe an MRTG

#

# Version 1.2 vom 11.3.2008

#

# © Lutz Schulze 2002-2008 Temperaturüberwachung - Temperatur und Luftfeuchte im Serverraum mit dem PC im Netzwerk per Software messen

#

# 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]\r\n";

eval {

local $SIG{ALRM} = sub { die "alarm\n"};

alarm 5;

$answer = <$socket>;

alarm 0;

};

if ($@) {

die unless $@ eq "alarm\n"; # handle unexpected errors

#no answer, timeout

print "timeout";

} else {

@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]\r\n";

eval {

local $SIG{ALRM} = sub { die "alarm\n"};

alarm 5;

$answer = <$socket>;

alarm 0;

};

if ($@) {

die unless $@ eq "alarm\n"; # handle unexpected errors

#no answer, timeout

print "timeout";

}

else {

@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";

ich versuche jetzt so nen graph mit werten zu erstellen, villeicht hat mal jemand erfahrung damit und könnte mir weiter helfen oder so...

Danke schon mal

MG

hat sich erledigt, habs hin bekommen.lool

MG

hallo Lup49,

Also erst mal die mrtg Konfig file und den perl script getrennt speichern und mit notepad bearbeiten..

das perl script unverändert so gelassen.

und die mrtg konfig file am anfang da wo TARGET..... steht meine messpc werte entsprechen angepasst d.h. ip adresse und die jeweiligen sensoren bezeichnung und so.

Das perl script zeigt nur zwei temp sensoren gleichzeitig.

Ist im groben und ganzen so.

anschliessend beide sowohl das perl script pcmeasure2mrtg.pl und mrtg.cfg beide unter c:\mrtghtml und c:\mrtg\bin gespeichert.

Und dann in dos fenster aufrufen....

geht so. dos oefnen c:\mrtg\bin\ perl mrtg mertg.cfg

und dann das in c:\mrtghtml entstandene livepcmeasure demo.html oefnen und sieh da die graphen sind da.tagliche, woechentliche, monatliche und jahrliche..

wie gegesagt es läuft alles einwandfrei...aktuellisiert sich jeder 5 minuten..

viele Gruesse

MG

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.