Procházet zdrojové kódy

Se actualizan OIDs para estadísticas de puertos. Estos son GPON.

Maximiliano Schvindt před 7 roky
rodič
revize
447e8f3294
2 změnil soubory, kde provedl 23 přidání a 18 odebrání
  1. 13 7
      Command/HuaweiPonStatsCommand.php
  2. 10 11
      SNMP/MIBS/OIDSHuaweiV1.php

+ 13 - 7
Command/HuaweiPonStatsCommand.php

@@ -78,10 +78,11 @@ class HuaweiPonStatsCommand extends BaseCommand
         $metrics = array("txPower" => "{$subId}_pon_tx_", "temperature" => "{$subId}_pon_temperature_", "voltage" => "{$subId}_pon_voltage_", "biasCurrent" => "{$subId}_pon_biascurrent_");
 
         foreach($dataCached as $index => $pon) {
-            $ponPort = "{$pon['slot']}.{$pon['port']}";
+
+            $ponPort = str_replace ('/','.',$pon['ponPort']);
             
             $stats = array();
-            $stats['ponPort'] = "{$pon['slot']}/{$pon['port']}";
+            $stats['ponPort'] = $pon['ponPort'];
             $stats['rxPower'] = array();
             
             foreach($metrics as $data => $metric) {
@@ -89,7 +90,12 @@ class HuaweiPonStatsCommand extends BaseCommand
                 if(isset($$data[$index]) && !empty($$data[$index])) {
                     
                     $m = "{$metric}{$ponPort}";
-                    $v = $$data[$index] * 0.01;
+                    
+                    if($data == "voltage" || $data == "txPower") {
+                        $v = $$data[$index] * 0.01;
+                    } else {
+                        $v = $$data[$index];
+                    }
                     $stats[$data] = $v;
                     
                     $sendData[$m] = "{$v}|g";
@@ -101,6 +107,8 @@ class HuaweiPonStatsCommand extends BaseCommand
 
         foreach($rxPower as $index => $rx) {
             
+            if($rx == 2147483647) continue;
+
             $ponPortOnuId = explode(".",$index);
             
             if(count($ponPortOnuId) != 2) continue;
@@ -108,13 +116,11 @@ class HuaweiPonStatsCommand extends BaseCommand
 
             if(isset($dataCached[$indexPon])) {
                 $onuId = $ponPortOnuId[1];
-                $slot = $dataCached[$indexPon]['slot'];
-                $port = $dataCached[$indexPon]['port'];
+                $ponPort = str_replace ('/','.',$dataCached[$indexPon]['ponPort']);
                 
-                $ponPort = "{$slot}.{$port}";
                 $m = "{$subId}_pon_rx_{$ponPort}.{$onuId}";
                 
-                $v = $rx * 0.01;
+                $v = ($rx - 10000) * 0.01;
                 
                 if(isset($ponStatsCached[$indexPon]['rxPower'])) {
                     $ponStatsCached[$indexPon]['rxPower'][$onuId] = $v;

+ 10 - 11
SNMP/MIBS/OIDSHuaweiV1.php

@@ -25,12 +25,11 @@ class OIDSHuaweiV1 extends \HuaweiBundle\SNMP\MIB {
     const OID_oltPonDesc                          = "1.3.6.1.2.1.31.1.1.1.1";
     const OID_oltPonEnableStatus                  = "1.3.6.1.4.1.5875.800.3.9.3.4.1.4";
     
-    const OID_oltPonRxOpticalPower                = "1.3.6.1.4.1.2011.6.128.1.1.2.51.1.6";
-    
-    const OID_oltPonTxOpticalPower                = "1.3.6.1.4.1.5875.800.3.9.3.4.1.8";
-    const OID_oltPonOpticalVltage                 = "1.3.6.1.4.1.5875.800.3.9.3.4.1.9";
-    const OID_oltPonOpticalCurrent                = "1.3.6.1.4.1.5875.800.3.9.3.4.1.10";
-    const OID_oltPonOpticalTemperature            = "1.3.6.1.4.1.5875.800.3.9.3.4.1.11";
+    const OID_oltPonRxOpticalPower                = "1.3.6.1.4.1.2011.6.128.1.1.2.51.1.6"; // (value - 10000) * 0.01
+    const OID_oltPonTxOpticalPower                = "1.3.6.1.4.1.2011.6.128.1.1.2.23.1.4";
+    const OID_oltPonOpticalVltage                 = "1.3.6.1.4.1.2011.6.128.1.1.2.23.1.2";
+    const OID_oltPonOpticalCurrent                = "1.3.6.1.4.1.2011.6.128.1.1.2.23.1.3";
+    const OID_oltPonOpticalTemperature            = "1.3.6.1.4.1.2011.6.128.1.1.2.23.1.1";
     
     
     //Genericos
@@ -129,27 +128,27 @@ class OIDSHuaweiV1 extends \HuaweiBundle\SNMP\MIB {
     }
     
     public function oltPonRxOpticalPower($index = null) {
-        return $this->getSNMP()->lastOidWalk(self::OID_oltPonRxOpticalPower,15);
+        return $this->getSNMP()->lastOidWalk(self::OID_oltPonRxOpticalPower,16);
 //        return $this->convertIndex($index, $values);
     }
     
     public function oltPonTxOpticalPower($index = null) {
-        return $this->getSNMP()->lastOidWalk(self::OID_oltPonTxOpticalPower,15);
+        return $this->getSNMP()->lastOidWalk(self::OID_oltPonTxOpticalPower,16);
 //        return $this->convertIndex($index, $values);
     }
     
     public function oltPonOpticalVltage($index = null) {
-        return $this->getSNMP()->lastOidWalk(self::OID_oltPonOpticalVltage,15);
+        return $this->getSNMP()->lastOidWalk(self::OID_oltPonOpticalVltage,16);
 //        return $this->convertIndex($index, $values);
     }
     
     public function oltPonOpticalCurrent($index = null) {
-        return $this->getSNMP()->lastOidWalk(self::OID_oltPonOpticalCurrent,15);
+        return $this->getSNMP()->lastOidWalk(self::OID_oltPonOpticalCurrent,16);
 //        return $this->convertIndex($index, $values);
     }
     
     public function oltPonOpticalTemperature($index = null) {
-        return $this->getSNMP()->lastOidWalk(self::OID_oltPonOpticalTemperature,15);
+        return $this->getSNMP()->lastOidWalk(self::OID_oltPonOpticalTemperature,16);
 //        return $this->convertIndex($index, $values);
     }