Thread welche port wurde gerade angesprochen? (4 answers)
Opened by Cyver at 2012-07-18 14:09

Gast Cyver
 2012-07-18 14:09
#160010 #160010
Hallo Leute,

ich würde gerne wissen, ob es möglich ist mit Perl heraus zu finden an welchem Port(RJ45-Schnittstelle) etwas angeschlossen ist?! Es geht nämlich um folgendes. Ich habe hier ein Temperatur-Server, mit 9 RJ-45 Ports. Einer davon geht zu einem Rechner und an den anderen 8 RJ-45 Ports sind Sensoren dran. Nun habe ich hier ein Perl-Script vorliegen, dass die Werte ausließt und noch einige Informationen entnimmt wie z.B. den Namen des Sensors ( wie man es im dazugehörigen Web-Interface hinterlegt hat ).
Hier ein kleiner ausschnitt aus dem Script
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
    push @info, sprintf('%s: %s', $global{'product'}, $global_info{$global_status_map{$global{'status'}}});

my @ts = getEnabledSensors($baseOidTemp . '.1.5');
my @hs = getEnabledSensors($baseOidHumi . '.1.5');

foreach my $s (@ts) {
checkTempSensor($s);
}
foreach my $s (@hs) {
checkHumiSensor($s);
}
}

sub checkTempSensor {
my $id = shift;
my $oid = $baseOidTemp;

my %result = fetchOids({
$oid . '.1.1.' . $id => 'description', # Sensor name / description
$oid . '.1.14.' . $id => 'degree', # Currently measured degree
$oid . '.1.4.' . $id => 'status', # Sensor status, see %status_map
$oid . '.1.7.' . $id => 'highWarning', # Configured upper warning threshold
$oid . '.1.8.' . $id => 'highCritical', # Configured upper critical threshold
$oid . '.1.9.' . $id => 'lowWarning', # Configured lower warning threshold
$oid . '.1.10.' . $id => 'lowCritical', # Configured lower critical threshold
$oid . '.1.12.' . $id => 'degreeType', # fahr(0), celcius(1)
});
$performance{sanitize($result{'description'})} = sprintf(
"%.2f%s;%.1f:%.1f;%.1f:%.1f",
$result{'degree'} / 10,
$degree_map{$result{'degreeType'}},
$result{'lowWarning'},
$result{'highWarning'},
$result{'lowCritical'},
$result{'highCritical'}
);
push @info, sprintf(
'%s Temperature sensor "%s": %.2f%s (%.1f:%.1f/%.1f:%.1f)',
$status_map{$result{'status'}},
$result{'description'},
$result{'degree'} / 10,
$degree_map{$result{'degreeType'}},
$result{'lowWarning'},
$result{'highWarning'},
$result{'lowCritical'},
$result{'highCritical'}
);
}

ich würde nun gern in die sub checkTempSensor nach dem Port fragen, von welchem Sensor er das nun hat. Klar könnte ich das auch am Namen sehen, jedoch ist das für mich keine option. Könnte mir da evtl einer helfen???

MFG
Cyver
Last edited: 2012-07-18 14:10:43 +0200 (CEST)

View full thread welche port wurde gerade angesprochen?