Maximilian Wilhelm 5521002b37 Fix port association for adsl, etherlike and poe port information.
In 2c9df26bbf22af94c354bcf445b55a56eaece81a I broke the association of
  ports in the DB and ports just polled via SNMP for the adsl, etherlike
  and poe submodules and no one noticed. This fixes this issue. Sorry.

Signed-off-by: Maximilian Wilhelm <max@rfc2324.org>
2016-02-03 21:14:25 +01:00

73 lines
2.3 KiB
PHP

<?php
$cpe_oids = array(
'cpeExtPsePortEnable',
'cpeExtPsePortDiscoverMode',
'cpeExtPsePortDeviceDetected',
'cpeExtPsePortIeeePd',
'cpeExtPsePortAdditionalStatus',
'cpeExtPsePortPwrMax',
'cpeExtPsePortPwrAllocated',
'cpeExtPsePortPwrAvailable',
'cpeExtPsePortPwrConsumption',
'cpeExtPsePortMaxPwrDrawn',
'cpeExtPsePortEntPhyIndex',
'cpeExtPsePortEntPhyIndex',
'cpeExtPsePortPolicingCapable',
'cpeExtPsePortPolicingEnable',
'cpeExtPsePortPolicingAction',
'cpeExtPsePortPwrManAlloc',
);
$peth_oids = array(
'pethPsePortAdminEnable',
'pethPsePortPowerPairsControlAbility',
'pethPsePortPowerPairs',
'pethPsePortDetectionStatus',
'pethPsePortPowerPriority',
'pethPsePortMPSAbsentCounter',
'pethPsePortType',
'pethPsePortPowerClassifications',
'pethPsePortInvalidSignatureCounter',
'pethPsePortPowerDeniedCounter',
'pethPsePortOverLoadCounter',
'pethPsePortShortCounter',
'pethMainPseConsumptionPower',
);
if ($port_stats[$ifIndex]
&& $port['ifType'] == 'ethernetCsmacd'
&& isset($port_stats[$ifIndex]['dot3StatsIndex'])) {
// Check to make sure Port data is cached.
$this_port = &$port_stats[$ifIndex];
$rrdfile = get_port_rrdfile_path ($device['hostname'], $port_id, 'poe');
if (!file_exists($rrdfile)) {
$rrd_create .= $config['rrd_rra'];
// FIXME CISCOSPECIFIC
$rrd_create .= ' DS:PortPwrAllocated:GAUGE:600:0:U';
$rrd_create .= ' DS:PortPwrAvailable:GAUGE:600:0:U';
$rrd_create .= ' DS:PortConsumption:DERIVE:600:0:U';
$rrd_create .= ' DS:PortMaxPwrDrawn:GAUGE:600:0:U ';
rrdtool_create($rrdfile, $rrd_create);
}
$upd = "$polled:".$port['cpeExtPsePortPwrAllocated'].':'.$port['cpeExtPsePortPwrAvailable'].':'.$port['cpeExtPsePortPwrConsumption'].':'.$port['cpeExtPsePortMaxPwrDrawn'];
$fields = array(
'PortPwrAllocated' => $port['cpeExtPsePortPwrAllocated'],
'PortPwrAvailable' => $port['cpeExtPsePortPwrAvailable'],
'PortConsumption' => $port['cpeExtPsePortPwrConsumption'],
'PortMaxPwrDrawn' => $port['cpeExtPsePortMaxPwrDrawn'],
);
$ret = rrdtool_update("$rrdfile", $fields);
$tags = array('ifName' => $port['ifName']);
influx_update($device,'poe',$tags,$fields);
echo 'PoE ';
}//end if