2009-11-24 23:58:56 +00:00
|
|
|
<?php
|
|
|
|
|
|
2017-02-23 22:45:50 +00:00
|
|
|
use LibreNMS\RRD\RrdDefinition;
|
|
|
|
|
|
2016-02-03 21:12:46 +01:00
|
|
|
if ($this_port['dot3StatsIndex'] and $port['ifType'] == 'ethernetCsmacd') {
|
2018-03-12 14:27:51 -05:00
|
|
|
$etherlike_oids = array(
|
|
|
|
|
'dot3StatsAlignmentErrors',
|
|
|
|
|
'dot3StatsFCSErrors',
|
|
|
|
|
'dot3StatsSingleCollisionFrames',
|
|
|
|
|
'dot3StatsMultipleCollisionFrames',
|
|
|
|
|
'dot3StatsSQETestErrors',
|
|
|
|
|
'dot3StatsDeferredTransmissions',
|
|
|
|
|
'dot3StatsLateCollisions',
|
|
|
|
|
'dot3StatsExcessiveCollisions',
|
|
|
|
|
'dot3StatsInternalMacTransmitErrors',
|
|
|
|
|
'dot3StatsCarrierSenseErrors',
|
|
|
|
|
'dot3StatsFrameTooLongs',
|
|
|
|
|
'dot3StatsInternalMacReceiveErrors',
|
|
|
|
|
'dot3StatsSymbolErrors',
|
|
|
|
|
);
|
|
|
|
|
|
2016-07-07 01:33:43 -05:00
|
|
|
$rrd_oldname= 'etherlike-'.$port['ifIndex']; // TODO: remove oldname check?
|
|
|
|
|
$rrd_name = getPortRrdName($port_id, 'dot3');
|
2015-07-13 20:10:26 +02:00
|
|
|
|
2017-02-23 22:45:50 +00:00
|
|
|
$rrd_def = new RrdDefinition();
|
2015-08-18 16:26:55 +00:00
|
|
|
$fields = array();
|
2015-07-13 20:10:26 +02:00
|
|
|
foreach ($etherlike_oids as $oid) {
|
2017-02-23 22:45:50 +00:00
|
|
|
$oid_ds = str_replace('dot3Stats', '', $oid);
|
|
|
|
|
$rrd_def->addDataset($oid_ds, 'COUNTER', null, 100000000000);
|
|
|
|
|
|
|
|
|
|
$data = ($this_port[$oid] + 0);
|
2015-08-18 16:26:55 +00:00
|
|
|
$fields[$oid] = $data;
|
2011-03-16 01:11:27 +00:00
|
|
|
}
|
|
|
|
|
|
2016-07-07 01:33:43 -05:00
|
|
|
$tags = compact('ifName', 'rrd_name', 'rrd_def', 'rrd_oldname');
|
2016-08-28 12:32:58 -05:00
|
|
|
data_update($device, 'dot3', $tags, $fields);
|
2015-08-19 20:58:02 +00:00
|
|
|
|
2015-07-13 20:10:26 +02:00
|
|
|
echo 'EtherLike ';
|
2011-03-16 01:11:27 +00:00
|
|
|
}
|