Explorar el Código

Se añaden métricas en las variables Redis.

Maxi Schvindt hace 7 años
padre
commit
41d82c6025
Se han modificado 3 ficheros con 83 adiciones y 27 borrados
  1. 11 2
      Command/CmtsCmScanCommand.php
  2. 1 1
      Command/CmtsCmStatsCommand.php
  3. 71 24
      SNMP/MIBS/OIDSBase.php

+ 11 - 2
Command/CmtsCmScanCommand.php

@@ -46,13 +46,18 @@ class CmtsCmScanCommand extends BaseCmtsCommand
         $dataCached = array();
         $countCms = 0;
 
+        
+        
         $macs = $this->getSNMP("docsIfCmtsCmStatusMacAddress","cmMac");
         $ips = $this->getSNMP("docsIfCmtsCmStatusIpAddress","cmIp");
         $status = $this->getSNMP("docsIfCmtsCmStatusValue","cmStatus");
-
+        
         $up = $this->getSNMP("docsIfCmtsCmStatusUpChannelIfIndex","cmUpIf");
         $down = $this->getSNMP("docsIfCmtsCmStatusDownChannelIfIndex","cmDownIf");
-
+        
+        $signal = $this->getSNMP("docsIfCmtsCmStatusSignalNoise","cmtsSignal");
+        $rx = $this->getSNMP("docsIfCmtsCmStatusRxPower","cmtsRx");
+        $microreflection = $this->getSNMP("docsIfCmtsCmStatusMicroreflections","cmtsMicroreflection");
 
         foreach($macs as $index => $mac) {
             $countCms++; $data = array();
@@ -66,6 +71,10 @@ class CmtsCmScanCommand extends BaseCmtsCommand
 
             (isset($up[$index]))? $data['upInterface'] = $up[$index] : $data['upInterface'] = null;
             (isset($down[$index]))? $data['downInterface'] = $down[$index] : $data['downInterface'] = null;
+            
+            (isset($signal[$index]))? $data['signal'] = $signal[$index] * 0.1 : $data['signal'] = null;
+            (isset($rx[$index]))? $data['rxPower'] = $rx[$index] * 0.1 : $data['rxPower'] = null;
+            (isset($microreflection[$index]))? $data['microreflection'] = $microreflection[$index] : $data['microreflection'] = null;
 
             $dataCached[$index] = $data;
         }

+ 1 - 1
Command/CmtsCmStatsCommand.php

@@ -99,7 +99,7 @@ class CmtsCmStatsCommand extends BaseCmCommand
 
         if($uptime) {
             foreach($uptime as $oid => $value) {
-                $data['uptime'] = $value;
+                $data['uptime'] = $this->convertSysUpTimeInstance($value);
             }
         }
 

+ 71 - 24
SNMP/MIBS/OIDSBase.php

@@ -5,13 +5,6 @@ namespace CmtsBundle\SNMP\MIBS;
 
 class OIDSBase extends \CmtsBundle\SNMP\MIB {
     
-    const OID_docsIfCmtsCmStatusMacAddress	= "1.3.6.1.2.1.10.127.1.3.3.1.2";  //cm_index > mac
-    const OID_docsIfCmtsCmStatusIpAddress	= "1.3.6.1.2.1.10.127.1.3.3.1.3";  //cm_index > ip
-    const OID_docsIfCmtsCmStatusValue		= "1.3.6.1.2.1.10.127.1.3.3.1.9";  //cm_index > state
-
-    const OID_docsIfCmtsCmStatusUpChannelIfIndex =  "1.3.6.1.2.1.10.127.1.3.3.1.5";  //cm_index > up interface
-    const OID_docsIfCmtsCmStatusDownChannelIfIndex = "1.3.6.1.2.1.10.127.1.3.3.1.4";  //cm_index > down interface
-
     //CM
     const OID_docsIfCmStatusTxPower = "1.3.6.1.2.1.10.127.1.2.2.1.3"; //SNMP contra CM .channelCm > TxPower (v / 10)
     const OID_docsIfDownChannelPower = "1.3.6.1.2.1.10.127.1.1.1.1.6"; //SNMP contra CM .channelCm > RxPower (v / 10)
@@ -20,46 +13,59 @@ class OIDSBase extends \CmtsBundle\SNMP\MIB {
     const OID_docsIfSigQUnerroreds = "1.3.6.1.2.1.10.127.1.1.4.1.2"; //SNMP contra CM .channelCm > Unerroreds
     const OID_docsIfSigQCorrecteds = "1.3.6.1.2.1.10.127.1.1.4.1.3"; //SNMP contra CM .channelCm > Correcteds
     const OID_docsIfSigQUncorrectables = "1.3.6.1.2.1.10.127.1.1.4.1.4"; //SNMP contra CM .channelCm > Uncorrectables
-
     const OID_sysUpTimeInstance = "1.3.6.1.2.1.1.3.0"; //SNMP contra CM > uptime CM Format: Timeticks: (213988400) 24 days, 18:24:44.00
 
+    //CMTS
+    const OID_docsIfCmtsCmStatusMacAddress	= "1.3.6.1.2.1.10.127.1.3.3.1.2";  //cm_index > mac
+    const OID_docsIfCmtsCmStatusIpAddress	= "1.3.6.1.2.1.10.127.1.3.3.1.3";  //cm_index > ip
+    const OID_docsIfCmtsCmStatusValue		= "1.3.6.1.2.1.10.127.1.3.3.1.9";  //cm_index > state
 
+    const OID_docsIfCmtsCmStatusUpChannelIfIndex =  "1.3.6.1.2.1.10.127.1.3.3.1.5";  //cm_index > up interface
+    const OID_docsIfCmtsCmStatusDownChannelIfIndex = "1.3.6.1.2.1.10.127.1.3.3.1.4";  //cm_index > down interface
 
-
-
-
-    
-    const OID_docsIfCmtsCmStatusSignalNoise 	= "1.3.6.1.2.1.10.127.1.3.3.1.13";  //cm_index > snr en interface
-    
-    
     const OID_if_desc = "1.3.6.1.2.1.2.2.1.2";  //if_index > description
     const OID_system_description = '1.3.6.1.2.1.1.1.0';  //HOST SNMP DESCRIPTION
     const OID_if_in_octets = '1.3.6.1.2.1.2.2.1.10';  //if_index > in octets (counter32)
     const OID_if_out_octets = '1.3.6.1.2.1.2.2.1.16';  //if_index > out octets (counter32)
     
-    const OID_docsIfCmtsChannelUtilization          = "1.3.6.1.2.1.10.127.1.3.9.1.3";
-    //const OID_docsIfSigQMicroreflections            = "1.3.6.1.2.1.10.127.1.1.4.1.6";
-    //const OID_docsIfSigQSignalNoise		            = "1.3.6.1.2.1.10.127.1.1.4.1.5";
+    const OID_docsIfCmtsCmStatusSignalNoise 	= "1.3.6.1.2.1.10.127.1.3.3.1.13"; //cm_index > snr de CM en CMTS
+    const OID_docsIf3CmtsCmUsStatusSignalNoise = "1.3.6.1.4.1.4491.2.1.20.1.4.1.4"; 
+    
+    const OID_docsIfCmtsCmStatusRxPower		= "1.3.6.1.2.1.10.127.1.3.3.1.6"; //cm_index > RX de cm en CMTS
+    const OID_docsIf3CmtsCmUsStatusRxPower = "1.3.6.1.4.1.4491.2.1.20.1.4.1.3";
+    
+    const OID_docsIfCmtsCmStatusMicroreflections = "1.3.6.1.2.1.10.127.1.3.3.1.14"; //cm_index > MX de cm en CMTS
+    const OID_docsIf3CmtsCmUsStatusMicroreflections = "1.3.6.1.4.1.4491.2.1.20.1.4.1.5"; 
+    
+    const OID_docsIfCmtsCmStatusExtUnerroreds = "1.3.6.1.2.1.10.127.1.3.3.1.15";
+    const OID_docsIf3CmtsCmUsStatusUnerroreds = "1.3.6.1.4.1.4491.2.1.20.1.4.1.7";
 
+    const OID_docsIfCmtsCmStatusExtCorrecteds = "1.3.6.1.2.1.10.127.1.3.3.1.16";
+    const OID_docsIf3CmtsCmUsStatusCorrecteds = "1.3.6.1.4.1.4491.2.1.20.1.4.1.8";
 
-    const OID_docsQosCmtsIfIndex                = "1.3.6.1.2.1.10.127.7.1.11.1.3";
+    const OID_docsIfCmtsCmStatusExtUncorrectables = "1.3.6.1.2.1.10.127.1.3.3.1.17";
+    const OID_docsIf3CmtsCmUsStatusUncorrectables = "1.3.6.1.4.1.4491.2.1.20.1.4.1.9";
 
+
+    
+    const OID_docsIfCmtsChannelUtilization          = "1.3.6.1.2.1.10.127.1.3.9.1.3";
+
+    const OID_docsQosCmtsIfIndex                = "1.3.6.1.2.1.10.127.7.1.11.1.3";
     const OID_docsQos3CmtsIfIndex		= "1.3.6.1.4.1.4491.2.1.21.1.11.1.3";
     const OID_docsQosServiceFlowOctets		= "1.3.6.1.2.1.10.127.7.1.4.1.2";
     const OID_docsQosServiceFlowDirection	= "1.3.6.1.2.1.10.127.7.1.3.1.7";
     const OID_docsQos3ServiceFlowDirection	= "1.3.6.1.4.1.4491.2.1.21.1.3.1.7";
     const OID_docsIfCmStatusRxPower		= "1.3.6.1.2.1.10.127.1.1.1.1.6";
-    const OID_docsIfCmtsCmStatusRxPower		= "1.3.6.1.2.1.10.127.1.3.3.1.6";
     const OID_docsQos3ServiceFlowOctets         = "1.3.6.1.4.1.4491.2.1.21.1.4.1.2";
-    const docsIfCmtsChannelUtilization          = "1.3.6.1.2.1.10.127.1.3.9.1.3";
+    
     const OID_ipNetToMediaPhysAddress 		= "1.3.6.1.2.1.4.22.1.2";
     const OID_docsIfCmtsCmPtr  			= "1.3.6.1.2.1.10.127.1.3.7.1.2";
     
-    //const OID_docsIfCmStatusTxPower 		= "1.3.6.1.2.1.10.127.1.2.2.1.3";
+
     const OID_docsIfDownChannelFrequency	= "1.3.6.1.2.1.10.127.1.1.1.1.2";
     const OID_docsIfDownChannelModulation       = "1.3.6.1.2.1.10.127.1.1.1.1.4";
    
-   // const OID_docsIfDownChannelPower		= "1.3.6.1.2.1.10.127.1.1.1.1.6";
+
     const OID_docsIfUpChannelFrequency		= "1.3.6.1.2.1.10.127.1.1.2.1.2";
     const OID_docsIfUpChannelWidth 		= "1.3.6.1.2.1.10.127.1.1.2.1.3";
     
@@ -128,7 +134,48 @@ class OIDSBase extends \CmtsBundle\SNMP\MIB {
         return $this->getSNMP()->lastOidWalk(self::OID_docsIfSigQUncorrectables,14);
     }
     public function sysUpTimeInstance() {
-        return $this->getSNMP()->realWalkV1(self::OID_sysUpTimeInstance);
+        return $this->getSNMP()->lastOidWalk(self::OID_sysUpTimeInstance,10);
     }
+
+    //SNMP sobre CMTS ip
+    public function docsIfCmtsCmStatusSignalNoise($version = 1) {
+
+        if($version == 1) {
+            return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusSignalNoise,14);
+        } elseif($version == 2) {
+            $res1 = $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusSignalNoise,14);;
+            $res3 = $this->getSNMP()->lastOidWalk(self::OID_docsIf3CmtsCmUsStatusSignalNoise,15);
+            return array_merge($res1, $res3);
+        } else {
+            return $this->getSNMP()->lastOidWalk(self::OID_docsIf3CmtsCmUsStatusSignalNoise,15);
+        }
+    }
+    
+    public function docsIfCmtsCmStatusMicroreflections($version = 1) {
+
+        if($version == 1) {
+            return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusMicroreflections,14);
+        } elseif($version == 2) {
+            $res1 = $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusMicroreflections,14);;
+            $res3 = $this->getSNMP()->lastOidWalk(self::OID_docsIf3CmtsCmUsStatusMicroreflections,15);
+            return array_merge($res1, $res3);
+        } else {
+            return $this->getSNMP()->lastOidWalk(self::OID_docsIf3CmtsCmUsStatusMicroreflections,15);
+        }
+    }
+    
+    public function docsIfCmtsCmStatusRxPower($version = 1) {
+
+        if($version == 1) {
+            return $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusRxPower,14);
+        } elseif($version == 2) {
+            $res1 = $this->getSNMP()->lastOidWalk(self::OID_docsIfCmtsCmStatusRxPower,14);;
+            $res3 = $this->getSNMP()->lastOidWalk(self::OID_docsIf3CmtsCmUsStatusRxPower,15);
+            return array_merge($res1, $res3);
+        } else {
+            return $this->getSNMP()->lastOidWalk(self::OID_docsIf3CmtsCmUsStatusRxPower,15);
+        }
+    }
+
     
 }