|
@@ -50,6 +50,7 @@ class StatsOnuCommand extends BaseCommand
|
|
|
$data = $stats = array();
|
|
|
|
|
|
$bandwidth = $this->getBandwidth($oltServerId, $oltDeviceId);
|
|
|
+ $oltRx = $this->getPortRx($oltServerId, $oltDeviceId);
|
|
|
|
|
|
foreach($metrics as $m => $metric) {
|
|
|
$key_onu_stats = "{$metric}d_{$oltDeviceId}_s_{$oltServerId}";
|
|
@@ -65,6 +66,7 @@ class StatsOnuCommand extends BaseCommand
|
|
|
$lowSn = strtolower($sn);
|
|
|
$row = array();
|
|
|
$row['deviceServer'] = $deviceServerId;
|
|
|
+ $ponPort = $onu['ponport'];
|
|
|
|
|
|
$lat = $lng = "NULL";
|
|
|
if(isset($devices[$lowSn])) {
|
|
@@ -80,7 +82,7 @@ class StatsOnuCommand extends BaseCommand
|
|
|
$row['mac'] = "NULL";
|
|
|
$row['serialNumber'] = "NULL";
|
|
|
$row['ponSerialNumber'] = "'".strtolower($sn)."'";
|
|
|
- $row['ponPort'] = "'".$onu['ponport']."'";
|
|
|
+ $row['ponPort'] = "'".$ponPort."'";
|
|
|
|
|
|
foreach($metrics as $m => $metric) {
|
|
|
if(isset($stats[$metric][$sn])) {
|
|
@@ -106,6 +108,8 @@ class StatsOnuCommand extends BaseCommand
|
|
|
$row['outOctets'] = "NULL";
|
|
|
}
|
|
|
|
|
|
+ (isset($oltRx[$ponPort]))? $row['rxPowerOlt'] = $oltRx[$ponPort] : $row['rxPowerOlt'] = "NULL";
|
|
|
+
|
|
|
$data[] = "(".implode(",",$row).")".PHP_EOL;
|
|
|
}
|
|
|
|
|
@@ -116,7 +120,7 @@ class StatsOnuCommand extends BaseCommand
|
|
|
$conn->close();
|
|
|
|
|
|
$conn = $doctrine->getConnection();
|
|
|
- $sql = "INSERT LOW_PRIORITY IGNORE INTO `onu` (`device_server_id`,`device_id`,`olt_device_id`,`tenancy_id`,`ip`,`mac`,`serial_number`,`pon_serial_number`,`pon_port`,`tx_power`,`rx_power`,`temperature`,`voltage`,`status`,`uptime`,`updated`,`lat`,`lng`,`index`,`in_octets`,`out_octets`) VALUES ". implode(",", $data).";";
|
|
|
+ $sql = "INSERT LOW_PRIORITY IGNORE INTO `onu` (`device_server_id`,`device_id`,`olt_device_id`,`tenancy_id`,`ip`,`mac`,`serial_number`,`pon_serial_number`,`pon_port`,`tx_power`,`rx_power`,`temperature`,`voltage`,`status`,`uptime`,`updated`,`lat`,`lng`,`index`,`in_octets`,`out_octets`,`rx_power_olt`) VALUES ". implode(",", $data).";";
|
|
|
$conn->query($sql);
|
|
|
$conn->close();
|
|
|
} else {
|
|
@@ -163,4 +167,22 @@ class StatsOnuCommand extends BaseCommand
|
|
|
return $bandwidth;
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ private function getPortRx($server, $olt) {
|
|
|
+ $key_pon_stats = "olt_stats_pons_d_{$olt}_s_{$server}";
|
|
|
+
|
|
|
+ $ponsCached = $this->getData($key_pon_stats, true);
|
|
|
+
|
|
|
+ $rx = array();
|
|
|
+ foreach ($ponsCached as $index => $data) {
|
|
|
+ if($data['rxPower']) {
|
|
|
+ foreach($data['rxPower'] as $i => $value) {
|
|
|
+ $ponPort = $data['ponPort']."/".$i;
|
|
|
+ $rx[$ponPort] = $value;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return $rx;
|
|
|
+ }
|
|
|
}
|