Issues (2963)

discovery/sensors/temperature/powerconnect.inc.php (1 issue)

1
<?php
2
3
switch ($device['sysObjectID']) {
4
    /**
5
     * Dell Powerconnect 5548
6
     * Operating Temperature: 0º C to 45º C
7
     */
8
    case '.1.3.6.1.4.1.674.10895.3031':
9
        $temperature = trim(snmp_get($device, '.1.3.6.1.4.1.89.53.15.1.9.1', '-Ovq'));
10
        discover_sensor($valid['sensor'], 'temperature', $device, '.1.3.6.1.4.1.89.53.15.1.9.1', 0, 'powerconnect', 'Internal Temperature', '1', '1', '0', null, null, '45', $temperature);
11
        break;
12
    /**
13
     * Dell Powerconnect 3548
14
     * Operating Temperature: 0º C to 45º C
15
     */
16
    case '.1.3.6.1.4.1.674.10895.3017':
17
        $temperature = trim(snmp_get($device, '.1.3.6.1.4.1.89.53.15.1.9.1', '-Ovq'));
18
        discover_sensor($valid['sensor'], 'temperature', $device, '.1.3.6.1.4.1.89.53.15.1.9.1', 0, 'powerconnect', 'Internal Temperature', '1', '1', '0', null, null, '45', $temperature);
19
        break;
20
    /**
21
     * Dell Powerconnect 3548P
22
     * Operating Temperature: 0º C to 45º C
23
     */
24
    case '.1.3.6.1.4.1.674.10895.3019':
25
        $temperature = trim(snmp_get($device, '.1.3.6.1.4.1.89.53.15.1.9.1', '-Ovq'));
26
        discover_sensor($valid['sensor'], 'temperature', $device, '.1.3.6.1.4.1.89.53.15.1.9.1', 0, 'powerconnect', 'Internal Temperature', '1', '1', '0', null, null, '45', $temperature);
27
        break;
28
    default:
29
        /**
30
         * Default Temperature Discovery
31
         * Operating Temperature: 0º C to 45º C
32
         */
33
        $temperature = snmp_get($device, 'boxServicesTempSensorTemperature.0', '-Ovq', 'FASTPATH-BOXSERVICES-PRIVATE-MIB');
34
        if (is_numeric($temperature)) {
35
            discover_sensor($valid['sensor'], 'temperature', $device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.43.1.8.1.4.0', 0, 'powerconnect', 'Internal Temperature', '1', '1', '0', null, null, '45', $temperature);
36
        }
37
}
38
39
$temps = snmp_walk($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.43.1.8.1.5', '-Osqn');
40
//This will return at least 4 OIDs (multiplied by the number of switches if stacked)  and associated values for various temperatures
41
42
$counter = 0;
43
44
foreach (explode("\n", $temps) as $i => $t) {
45
    $t = explode(' ', $t);
46
    $oid = $t[0];
47
    $val = $t[1];
48
49
    if (substr($oid, -1) == '1') {
50
        // This code will only pull CPU temp for each stack member, but there is no reason why the additional values couldn't be graphed
51
        $counter = $counter + 1;
52
        discover_sensor($valid['sensor'], 'temperature', $device, $oid, $counter, 'dnos', 'Unit ' . $counter . ' CPU temperature', '1', '1', null, null, null, null, $val);
53
    }
54
}
55
56
// Force10 S-Series
57
// F10-S-SERIES-CHASSIS-MIB::chStackUnitTemp.1 = Gauge32: 47
58
// F10-S-SERIES-CHASSIS-MIB::chStackUnitModelID.1 = STRING: S25-01-GE-24V
59
echo 'FTOS C-Series ';
60
61
$oids = snmpwalk_cache_oid($device, 'chStackUnitTemp', [], 'F10-S-SERIES-CHASSIS-MIB', 'ftos');
62
$oids = snmpwalk_cache_oid($device, 'chStackUnitSysType', $oids, 'F10-S-SERIES-CHASSIS-MIB', 'ftos');
63
64
if (is_array($oids)) {
0 ignored issues
show
The condition is_array($oids) is always true.
Loading history...
65
    foreach ($oids as $index => $entry) {
66
        $descr = 'Unit ' . $index . ' ' . $entry['chStackUnitSysType'];
67
        $oid = '.1.3.6.1.4.1.6027.3.10.1.2.2.1.14.' . $index;
68
        $current = $entry['chStackUnitTemp'];
69
        discover_sensor($valid['sensor'], 'temperature', $device, $oid, $index, 'ftos-sseries', $descr, '1', '1', null, null, null, null, $current);
70
    }
71
}
72